내가 시험에서 다음을 수행하는 코드의 조각에 내 단위 테스트를 실행 해요 : 아이콘 속성에 대한 게터 내부System.Windows.Controls.Image를 작성하면 예외가 발생합니다. 디스패처를 사용하여 인스턴스화하는 방법은 무엇입니까?
Assert.IsNotNull(target.Icon);
, 나는이 일을 해요 :
System.Windows.Controls.Image img = new System.Windows.Controls.Image();
System.InvalidOperationException : 많은 UI 구성 요소에서이를 필요로하기 때문에 호출하는 스레드는 STA 여야합니다.
나는 Dispatcher를 사용해야한다는 것을 이해하지만, 어떻게 또는 왜 ... 이건 내 ViewModel의 속성이고 나는 어떤 것도 가지지 않는다는 것을 조금 혼란스러워합니다. 이러한 예외는 응용 프로그램을 실행할 때 발생합니다.
기타 정보 : 이것은 단지 당신이 다른 비 UI 스레드를 사용하고 .NET 4.
그래, 그랬어 (NUnit을 사용 했으니 완벽 했어!) –