繁体   English   中英

WPF DataGrid排序在添加项目时引发异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM