ListView不记得SelectedItems

时间:2016-02-29 11:45:37

标签: c# xaml windows-runtime

我有ListView SelectionMode="Multiple",如果我更改了页面,然后我导航回到ListView的页面,则没有选定的项目,每个项目都会被取消选中。< / p>

我试图扩展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}" />

但即使这样做也没有用。

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

1 个答案:

答案 0 :(得分:1)

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

了解更多信息:

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