ListView 不记得 SelectedItems
ListView don't remember SelectedItems
我有一个带有 SelectionMode="Multiple"
的 ListView
,如果我更改页面然后导航回带有 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
.. 这将缓存您的文本输入、列出所选项目等。:)
了解更多信息:
我有一个带有 SelectionMode="Multiple"
的 ListView
,如果我更改页面然后导航回带有 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
.. 这将缓存您的文本输入、列出所选项目等。:)
了解更多信息: