[英]WPF add item to datagrid bound to observablecollection exception
[英]WPF DataGrid Sorting Throws exception on Item adding
在我的项目中,我具有默认的WPF DataGrid
并将ItemsSource
绑定到ViewModel中的业务对象的ObservableCollection
。 这个集合经常更新(可能会添加,删除和更新项目,所有对象都实现INotifyPropertyChanged
),并且一切正常。
允许用户通过单击列标题来更改DataGrid
的排序。 这部分也起作用(始终为ALMOST)。
当同时发生两个事件(Collection修改和dataGrid排序)并引发异常时,便会出现问题,并指出在进行“ NewItem”或“ EditItem”的过程中无法执行“排序”(消息不准确,原始消息不是英语,我找不到英语版本)。
同样,我们无法在可调试环境中重现该问题,但是我们有崩溃报告。
我了解问题的根源是什么,什么是错的。 但是我仍然不知道该怎么做才能修复它。 我不能手动提交CollectionView
更改和/或延迟排序,因为它在DataGrid
。 我无法控制用户排序启用,因为这会给用户带来不便。 我什至无法尝试捕获此异常,因为引发的操作来自Windows消息泵(用户操作),直接进入框架代码。
我是否应该在ViewModel内创建CollectionView
,对其进行控制并将datagrid绑定到它,但是datagrid的内部视图仍然不会遇到相同的问题吗? 也许有一些我找不到的常见做法或错误。
如果需要,我可以提供一些代码,但是一切似乎都很简单。
这篇博客文章为您的问题提供了一些建议。
在AddNew或EditItem事务期间不允许“排序”' http://tliangnet.blogspot.com/2015/08/sorting-is-not-allowed-during-addnew-or.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.