在后台线程上更新业务对象的集合时,我收到以下错误消息:
这种类型的CollectionView不支持从与Dispatcher线程不同的线程更改其SourceCollection.
好的,这是有道理的.但它也引出了一个问题,什么版本的CollectionView支持多个线程,如何让我的对象使用它?
当我想创建一个响应式用户界面时,我想要一些提示.
我知道如何使用:
Dispatcher
Task
BackgroundWorker
Threads
Run Code Online (Sandbox Code Playgroud)
我正在寻找更多高级技巧,比如绑定提示...当我的UI上有50多个控件需要更新时.
PriorityBinding
Populating ComboBoxes
Populating ListBoxes, ListViews
Run Code Online (Sandbox Code Playgroud)
在后台处理数据时...最佳实践可能涉及长时间运行的过程.
我还能做些什么来使我的UI 100%响应.
在速度和生成的通知量方面,这段代码是:
ObservableCollection<Foo> foo = new ObservableCollection<Foo>(bar);
this.SomeProperty = foo;
Run Code Online (Sandbox Code Playgroud)
同样如下:
this.SomeProperty = new ObservableCollection<Foo>();
foreach (var v in bar)
{
this.SomeProperty.Add(v);
}
Run Code Online (Sandbox Code Playgroud)
如果它们相同,是否有可能以某种方式关闭生成的通知?
目标: 我正试图加速在Silverlight中显示Telerik RadChart.即使在设置了包含ObservableCollection的属性之后,似乎还需要一段时间才能显示(并在浏览器应用程序中冻结).绘制图表后,一切正常.