2010-08-11 73 views

回答

1

我会说,它是由UIThread创建的任何DependencyObject。 thanks-这是一个良好的开端

Dispatcher.FastInvoke(delegate 
       { 
        StatusMessageText.Text = "OK"; 
       }); 
+0

我会建议使用这种扩展方法,当你不知道......

public static class Extensions { public static void FastInvoke(this Dispatcher dispatcher, Action action) { if (dispatcher.CheckAccess()) action.Invoke(); else dispatcher.BeginInvoke(action); } } 

使用方法如下。我还可以知道,如果UI元素绑定到INotifyPropertyChanged派生对象的属性,则在后台线程中修改此属性的值也将失败。 因此,如果任何绑定到UI元素的UI元素或属性在被非UI线程访问时都会导致错误。 还有其他规则吗? – skj 2010-08-13 17:13:08