首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ObservableCollection上绑定后台操作块后的UI更新

在ObservableCollection上绑定后台操作块后的UI更新
EN

Stack Overflow用户
提问于 2011-11-22 17:58:06
回答 5查看 1.3K关注 0票数 0

我有这个:

  1. 显示在后台执行加载操作时等待“阻止”UI的动画。
  2. 在加载结束时,我调用一个方法,该方法实例一个用户控件,并使用绑定(和ObservableCollection等)显示一些数据。
  3. 这个用户控件将被显示,用户可以与它交互,但是ObservableCollection似乎被卡在另一个线程中,因为它不允许向它添加新的项。

我尝试在BackgroundWorker完成事件时更新UI,使用Dispatcher,使用DispatchTimer.所有这一切都显示了用户控件,但是ObservableCollection仍然需要添加。

试图向集合添加项的代码位于UserControl中。

确切的错误是:“这种类型的CollectionView不支持与Dispatcher线程不同的线程对其SourceCollection的更改”

如果我没有在后台进行加载,则不会发生这种情况。

谢谢你能解决这个问题。

顺便说一句,尝试使用Dispatcher添加项也不起作用。

换句话说,我想做的是在UI中创建一个对象,同时在后台.我知道这听起来很傻。

EN

Stack Overflow用户

发布于 2011-11-22 18:09:17

当涉及到线程和ui元素时,最重要的规则之一是在ui线程上保持ui元素实例化(ui元素实例化),这可能会给您带来长期的麻烦。你肯定能搞定的。如果需要从另一个线程更改这些对象,则可以使用Dispatcher。

( http://msdn.microsoft.com/en-us/library/ms741870.aspx的引用也可能有意义)

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8231425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档