【发布时间】:2013-06-10 15:18:03
【问题描述】:
我有一个像这样被过滤的列表框:
var view = CollectionViewSource.GetDefaultView(FilterSource);
view.Filter = FilterCode;
当过滤器与这样的视图模型代码一起使用时,我遇到了SelectedItem 丢失的问题:
VM
{
public ObservableCollection<Model> Items{get;set;}
public Model SelectedItem
{
get{return _selectedItem;}
set{_selectedItem = value; NotifyPropertyChanged();}
}
}
应用过滤器时,SelectedItem 设置为 null。但是,我想保留该选定项目,除非用户实际单击它。如果删除了过滤器,则仍应选择所选项目。该模型确实有一个IsSelected 属性,我一直在想办法查询IsSelected 属性。但是,视图的绑定不会像我期望的那样工作....或者至少我在循环中认为它不能
【问题讨论】:
-
如果您的收藏有某种主键,您可以在过滤前保存此 id,并在过滤后尝试使用此 id 设置所选项目
标签: c# .net wpf binding .net-4.0