如果ItemsSource绑定到linq表达式,则无法编辑DataGrid单元格

时间:2012-04-28 17:51:02

标签: wpf mvvm wpfdatagrid

当我尝试编辑网格视图中的项目时,我得到异常“'此视图不允许使用'EditItem'”。这是因为我将数据网格绑定到LINQ查询。我的问题是如何过滤我原来的物品集合?我是否必须创建另一个ObservableCollection(或其他任何实现IList的东西)并在那里复制我过滤的项目?

编辑:我知道将数据复制到ObservableCollection中是有效的。我的问题是:给定原始集合,是否有内存高效(常量内存复杂性)方式来过滤和/或排序集合并使其在网格视图中可编辑?

        private readonly ObservableCollection tasks = new ObservableCollection();
public IEnumerable OrderedTasks { get { return this.tasks.Where(t => !t.Complete); } }
    <DataGrid ItemsSource="{Binding OrderedTasks}" />

0 个答案:

没有答案