2010-08-11 2 views

답변

1

저는 그것이 UIThread에 의해 만들어진 DependencyObject라고 말하고 싶습니다. 난 당신이 확실하지 않은 경우,이 확장 방법을 사용하는 것이 좋습니다 것

...

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

이처럼 사용

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

을 그 좋은 시작이다 고맙다 -. 또한 UI 요소가 INotifyPropertyChanged 파생 개체의 속성에 바인딩 된 경우 백그라운드 스레드에서이 속성의 값을 수정해도 실패합니다. 그래서 UI 요소에 바인딩 된 UI 요소 나 속성처럼 보이면 UI가 아닌 스레드가 액세스 할 경우 오류가 발생합니다. 다른 규칙이 있습니까? – skj