我陷入了这种困境,希望有人可以帮助我
抱歉,我不能在此处粘贴代码作为公司块发布 .
我想在xaml中使用collectionviewsource . 我尝试了两种方法,静态资源和cvs.source . 第一个工作得很好,但限制是我只能从代码隐藏中找到资源 . 但控制ui和disaplay ui不在同一个视图上,我不知道如何触发排序/过滤,所以我移动到第二个选项,我把cvs放在视图模型中,属性暴露给两个ui . 但我得到了这个着名的错误“试图改变ui不属于这个线程”
那么一般来说,将csv放在何处的好习惯是什么 . 我检查了许多地方建议第二个选项http://www.xamlplayground.org/post/2009/07/18/Use-CollectionViewSource-effectively-in-MVVM-applications.aspx和XAML Binding to a CollectionViewSource property on a ViewModel但似乎没有人提到ui线程所有权问题 . 我做的事真的很蠢
谢谢
1 回答
如果您一直遇到线程问题,请使用
Dispatcher
:或者使用
EnableCollectionSynchronization
方法,这是WPF 4.5中的新方法,并将为您执行相同的操作:了解更多信息here .