private async void Add_Click(object sender, RoutedEventArgs e)
        {
            var brush        = brushes[random.Next(brushes.Length)];
            var factorwidth  = UseRandomChildSize ? random.Next(1, 3) : 1;
            var factorheight = UseRandomChildSize ? random.Next(1, 3) : 1;

            var ctrl = new FluidItemControl
            {
                Width        = factorwidth * panel.ItemWidth,
                Height       = factorheight * panel.ItemHeight,
                FillProperty = brush,
                DataProperty = (++count).ToString()
            };
            await panel.AddChildAsync(ctrl);
        }
        private void RefreshFluidWrapPanel()
        {
            count = 0;
            var items    = new ObservableCollection <UIElement>();
            var maxCount = random.Next(15, 20);

            for (int i = 0; i < maxCount; i++)
            {
                var brush        = brushes[random.Next(brushes.Length)];
                var factorwidth  = UseRandomChildSize ? random.Next(1, 3) : 1;
                var factorheight = UseRandomChildSize ? random.Next(1, 3) : 1;

                var ctrl = new FluidItemControl
                {
                    Width        = factorwidth * panel.ItemWidth,
                    Height       = factorheight * panel.ItemHeight,
                    FillProperty = brush,
                    DataProperty = (++count).ToString()
                };
                items.Add(ctrl);
            }
            panel.ItemsSource = items;
        }