我有一个自定义控件进度条,我需要通过另一个线程进行更新..似乎没有可用于自定义控件的Invoke,BeginInvoke,InvokeRequired等,是否有人对如何实现此操作有任何想法在控制范围内?
答案 0 :(得分: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
});
请注意,您需要使用UI线程中的正确Dispatcher
对象,而不是在非UI线程上创建的对象。有关详细信息,请查看MSDN上的Dispatcher.Invoke
Method页面。
如果这不是你想要的,请告诉我。