调用线程…异常,尽管使用Dispatcher.Invoke
本文关键字:Dispatcher Invoke 线程 异常 调用 | 更新日期: 2023-09-27 18:02:36
我正在开发一个WPF应用程序。不详细说明:
myCanvas.Background = new SolidColorBrush(FILL);
myCanvas.Background = new SolidColorBrush(FILL);
将导致:
The calling thread cannot access this object because a different thread owns it.
所以明显的修复是:
this.Dispatcher.Invoke((Action)(() =>
{
myCanvas.Background = new SolidColorBrush(FILL);
myCanvas.Background = new SolidColorBrush(FILL);
}));
但是,这仍然会引发一个异常:
this.Dispatcher.Invoke((Action)(() =>
{
myCanvas.Children.Add(eventArgs.getImage());
}));
知道为什么吗?
编辑:我将整个项目提交给:https://riouxsvn.com/svn/kinectfileexplo
请限制注释代码质量= thx;)
MainWindow.xaml.cs,第54行出现异常
查看DispatcherPriority Enum是否有帮助
Dispatcher.BeginInvoke((Action)(() =>
{
myCanvas.Children.Add(eventArgs.getImage());
}), System.Windows.Threading.DispatcherPriority.Background);