none
[WPF] 为UI提供数据的规则是什么? RRS feed

  • 问题

  • 实际项目中肯定会在其他线程生成和处理数据,完事了再给UI来绑定。不过在有些时候就会崩溃,请问这有什么规则么?

    以下几种case是我自己测试的:

       1、非UI线程创建数据,直接给UI绑定,没有问题。

       2、非UI线程创建数据,BeginInvoke给UI绑定,没有问题。

    对于1和2,之后在非UI线程改变数据,也不会崩溃,但是如果数据是ObservableCollection,就会崩溃。

    请问这是为什么?有什么固定的规则吗?这方面好迷糊。UI线程创建的数据不能被其他线程set么?其他线程创建的给UI使用的数据呢?

    2013年1月6日 2:48

答案