diff --git a/samples/VirtualizationDemo/MainWindow.xaml b/samples/VirtualizationDemo/MainWindow.xaml index 58970eff01..12137cd03d 100644 --- a/samples/VirtualizationDemo/MainWindow.xaml +++ b/samples/VirtualizationDemo/MainWindow.xaml @@ -39,6 +39,8 @@ + + - + diff --git a/samples/VirtualizationDemo/ViewModels/ItemViewModel.cs b/samples/VirtualizationDemo/ViewModels/ItemViewModel.cs index e883cdfeb9..4401a2dfeb 100644 --- a/samples/VirtualizationDemo/ViewModels/ItemViewModel.cs +++ b/samples/VirtualizationDemo/ViewModels/ItemViewModel.cs @@ -10,6 +10,7 @@ namespace VirtualizationDemo.ViewModels { private string _prefix; private int _index; + private double _height = double.NaN; public ItemViewModel(int index, string prefix = "Item") { @@ -18,5 +19,11 @@ namespace VirtualizationDemo.ViewModels } public string Header => $"{_prefix} {_index}"; + + public double Height + { + get => _height; + set => this.RaiseAndSetIfChanged(ref _height, value); + } } } diff --git a/samples/VirtualizationDemo/ViewModels/MainWindowViewModel.cs b/samples/VirtualizationDemo/ViewModels/MainWindowViewModel.cs index eba17f92e4..80e0fb2586 100644 --- a/samples/VirtualizationDemo/ViewModels/MainWindowViewModel.cs +++ b/samples/VirtualizationDemo/ViewModels/MainWindowViewModel.cs @@ -98,6 +98,24 @@ namespace VirtualizationDemo.ViewModels public ReactiveCommand SelectFirstCommand { get; private set; } public ReactiveCommand SelectLastCommand { get; private set; } + public void RandomizeSize() + { + var random = new Random(); + + foreach (var i in Items) + { + i.Height = random.Next(240) + 10; + } + } + + public void ResetSize() + { + foreach (var i in Items) + { + i.Height = double.NaN; + } + } + private void ResizeItems(int count) { if (Items == null)