使用Dispatcher.Invoke()仍然得到“调用线程无法访问此对象,因为不同的线程拥有它”异常

时间:2012-10-10 11:02:31

标签: wpf multithreading

我有这段代码:

        plane.Dispatcher.Invoke((Action)delegate
        {
            plane.Geometry = mesh;
        }, System.Windows.Threading.DispatcherPriority.Render);

我把它放在我的窗口类中的事件处理程序方法中。此处理程序的调用者是一个处理TCP数据的线程。 plane是在XAML中初始化的GeometryModel3D对象。 应该从非UI线程顺利运行,对吗? 但我仍然得到这个令人讨厌的异常,这不是UI线程。 另外,试过 - this.Dispatcher.Invoke - “this.Dispatcher”我的意思是Window.Dispatcher。

任何想法都不起作用?

1 个答案:

答案 0 :(得分:0)

解决方案是在调用块中声明网格对象。