不能从其他线程使用DependencyObject

时间:2014-05-04 00:11:05

标签: c# wpf multithreading visual-studio-2012 drawing

仅当我将这些行添加到OnRender覆盖方法时才会出现此错误:

for (int i = 0; i < this.Width; i++)
{
    dc.DrawImage(Gouttes[i].Bitmap, new Rect(i, Gouttes[i].Y, 1, Gouttes[i].Length));
}

和Visual Studio说我来自

new Application().Run(new MainWindow());

哪个工作......

请帮助我:导致该错误的原因及解决方法

非常感谢能帮助我的所有事情:)

1 个答案:

答案 0 :(得分:2)

DependencyObjectDispatcherObject的子类;这些对象与创建它们的线程相关联。您无法直接从另一个线程访问其依赖项属性。如果需要工作线程来访问DispatcherObject的依赖项属性,则需要使用Dispatcher.Invoke来调用调度程序线程上的操作。