很多年前,我可以像这样轻松地在任何 UIElement 上调用调度程序。
MyWPFTextBox.Dispatcher.Invoke...
要么我的智能感知不起作用,要么它已被移动......因为现在没有出现任何调度程序属性。有人知道如何从 XAML 元素获取调度程序的可寻址性吗?
最佳答案
从 .NET 4.5 开始,它仍然存在(即使在智能感知中),所以我猜你的智能感知当前已失效。
需要注意的几点:
- 当前 WPF 中您通常使用异步版本
BeginInvoke
- 必须将操作编码到 UI 线程意味着您可能做错了。正确的绑定(bind)设置将正确地整理您的更改,无需额外的努力。
- 您不需要在特定控件上使用
Dispatcher
,根 UI 元素上的 Dispatcher 就足够了(即只需Dispatcher.BeginInvoke
)
关于WPF UI 元素上的调度程序对象发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30399757/