我有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}" />
但即使这样做也没有用。
我很确定我做错了什么,但我不明白我做错了什么。
答案 0 :(得分:1)
将页面的NavigationCacheMode
属性设置为Required
..这样可以缓存文本输入,列出所选项目等。:)
了解更多信息: