diff --git a/src/modules/cmdpal/Microsoft.CmdPal.Core.ViewModels/ListViewModel.cs b/src/modules/cmdpal/Microsoft.CmdPal.Core.ViewModels/ListViewModel.cs index 21b6af7ff3..88288e4018 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.Core.ViewModels/ListViewModel.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.Core.ViewModels/ListViewModel.cs @@ -200,13 +200,6 @@ public partial class ListViewModel : PageViewModel, IDisposable // Check for cancellation before initializing first twenty items cancellationToken.ThrowIfCancellationRequested(); - var firstTwenty = newViewModels.Take(20); - foreach (var item in firstTwenty) - { - cancellationToken.ThrowIfCancellationRequested(); - item?.SafeInitializeProperties(); - } - // Cancel any ongoing search _cancellationTokenSource?.Cancel(); diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml index 676a676f95..391f5c4d9c 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml @@ -276,6 +276,7 @@ IsDoubleTapEnabled="True" IsItemClickEnabled="True" ItemClick="Items_ItemClick" + ContainerContentChanging="ItemsList_ContainerContentChanging" ItemTemplate="{StaticResource ListItemViewModelTemplate}" ItemsSource="{x:Bind ViewModel.FilteredItems, Mode=OneWay}" RightTapped="Items_RightTapped" @@ -295,6 +296,7 @@ IsDoubleTapEnabled="True" IsItemClickEnabled="True" ItemClick="Items_ItemClick" + ContainerContentChanging="ItemsList_ContainerContentChanging" ItemTemplateSelector="{StaticResource GridItemTemplateSelector}" ItemsSource="{x:Bind ViewModel.FilteredItems, Mode=OneWay}" RightTapped="Items_RightTapped" diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml.cs index a1544e03fa..e8127947f1 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/ExtViews/ListPage.xaml.cs @@ -427,4 +427,12 @@ public sealed partial class ListPage : Page, Keyboard, Pointer, } + + private void ItemsList_ContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args) + { + if (args.Item is ListItemViewModel item) + { + item.SafeInitializeProperties(); + } + } }