在对象的构造函数中,我需要创建一个WPF mediaElement对象:
m_videoMedia = new MediaElement();
Run Code Online (Sandbox Code Playgroud)
但是这个类也可以从其他线程实例化,所以我需要使用
Dispatcher.Invoke(DispatcherPriority.Normal,
(Action)(() => { m_videoMedia = new MediaElement(); }));
Run Code Online (Sandbox Code Playgroud)
但是如何在该构造函数中获得正确的调度程序实例:s
您最有可能只使用Dispatcher.CurrentDispatcher .Invoke ...
但是,如果由于某些原因不起作用,您可以让您的类接收对Dispatcher的引用作为其构造函数的一部分.只需Dispatcher.CurrentDispatcher在构建时从UI线程传入.
您可以从静态应用程序实例中获取UI Dispatcher:
Application.Current.Dispatcher您可能希望首先检查
Application.Current空值,因为它可以在关闭序列期间清除.
| 归档时间: |
|
| 查看次数: |
21622 次 |
| 最近记录: |