回答

3

public static bool InvokeRequired(this FrameworkElement element) 
{ 
    return !element.Dispatcher.CheckAccess(); 
} 
public static void Invoke(this FrameworkElement element, Action action) 
{ 
    if (element.InvokeRequired()) 
    { 
     using (AutoResetEvent are = new AutoResetEvent(false)) 
     { 
      Deployment.Current.Dispatcher.BeginInvoke(() => 
      { 
       action.Invoke(); 
       are.Set(); 
      }); 
      are.WaitOne(); 
     } 
    } 
    else 
     action.Invoke(); 
} 
+0

感谢下列扩展方法是非常有用的,这看起来帮助 –

+0

你可以排名的答案了 – ahmedsafan86

+1

你的意思是这样的? –