我需要等效于Application.OpenForms [0]。Winpfs中的wpf需要InvokeRequired。我尝试了
var dispatcher = myDispatcherObject.Dispatcher;
if (dispatcher.CheckAccess()) { /* ... */ }
但没有运气
答案 0 :(得分:1)
尝试以下扩展方法:
public static void TryToExecuteOnUI(this Action uiAction)
{
var uiDispatcher = System.Windows.Threading.Dispatcher.CurrentDispatcher;
if (uiDispatcher.CheckAccess() == false)
{
uiDispatcher.Invoke(uiAction);
return;
}
uiAction();
}