列表视图不记得选定项

本文关键字:记得 视图 列表 | 更新日期: 2023-09-27 18:36:52

我有一个SelectionMode="Multiple" ListView,如果我更改页面,然后我导航回带有ListView的页面,没有选定的项目,每个项目都显示为取消选择。

我试图扩展列表视图,这是我的代码:

    public class MultiSelectionListView : ListView
    {
        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
        {
            var myModel = item as MyModel;
            var lvElement = element as ListViewItem;
            lvElement.IsSelected = myModel.IsSelected;
            base.PrepareContainerForItemOverride(lvElement, item);
        }
    }

这是我的列表视图

<Controls:MyListView SelectionMode="Multiple"
    ItemsSource="{Binding ListItems}" 
    ItemTemplate="{StaticResource MyItemTemplate}" 
    ItemContainerStyle="{StaticResource MyListViewItemStyle}" />

但即使这样做也不起作用。

我很确定我做错了

什么,但我不明白我做错了什么。

列表视图不记得选定项

将页面的 NavigationCacheMode 属性设置为 Required .. 这将缓存您的文本输入,列出所选项目等。 :)

阅读更多关于它的信息:

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.page.navigationcachemode