【发布时间】:2019-07-18 08:57:13
【问题描述】:
我有一个 WPF 应用程序,我在屏幕上绘制线条形状。我为此使用了 PathGeometry,我在代码 (C#) 中设置了它。一切正常,但是路径的构建相对昂贵,并且给我的 UI 带来了一些问题。因此,我尝试在后台任务中创建路径,但事实证明这是不可能的。 PathGeometry 类有一个 DependencyProperty 成员,看起来只能在 UI 线程上运行。 是否可以在后台任务上进行路径计算?
我正在事件处理程序上尝试这样的事情
...
MyPath = await Task<PathGeometry>.Run( () => GeneratePath());
...
这里MyPath 是我的类中的一个属性,它数据绑定到我的 UI。当我运行代码时,我得到一个异常Must create DependencySource on same Thread as the DependencyObject。起初,我以为 MyPath 的设置没有发生在 UI 线程上,但后来我发现返回的 PathGeometry 包含异常。
【问题讨论】: