我有一个自定义控件进度条,我需要通过另一个线程进行更新。自定义控件似乎没有 Invoke、BeginInvoke、InvokeRequired 等可用,是否有人对如何在控件中实现此有任何想法?
问问题
195 次
1 回答
0
您将需要查看Dispatcher.Invoke
执行此操作的方法。我有一个方便的方法为我包装了这个功能:
public object RunOnUiThread(Delegate method)
{
return Dispatcher.Invoke(DispatcherPriority.Normal, method);
}
我这样使用它:
UiThreadManager.RunOnUiThread((Action)delegate
{
// This code will run on the UI thread
});
请注意,您需要使用Dispatcher
来自 UI 线程的正确对象,而不是在非 UI 线程上创建的对象。请查看 MSDN 上的Dispatcher.Invoke
方法页面以获取更多信息。
如果这不是你想要的,请告诉我。
于 2013-10-14T15:27:43.790 回答