MEF를 사용하여 내 뷰 모델 클래스의 인터페이스로 가져 오기 클래스에 문제가 있습니다. MEF 가져 오기 관련 문제
나는 모델을 내가 만들어 볼 재산 :[Import]
private IEventAggregator EventAgg { get; set; }
내가보기 모델의 생성자에서이 이벤트 애그리 게이터 (aggregator)를 subcribe 원하는 :
이public MessengerViewModel()
{
EventAgg.Subscribe(this);
}
내가 응용 프로그램을 실행 :
그래서 나는이 시도 하지만 애플 리케이션 동결.
그래서 나는 OnImportsSatisfied 방법으로 이벤트 애그리 게이터 (aggregator)를 등록하려고 :
public void OnImportsSatisfied()
{
EventAgg.Subscribe(this);
}
그러나 뷰 모델 클래스가 생성 될 때이 방법은 결코 호출되지 않습니다. 작동하는
유일한 해결책은 다음과 같습니다
[ImportingConstructor]
public MessengerViewModel(IEventAggregator eventAggregator)
{
EventAgg = eventAggregator;
EventAgg.Subscribe(this);
}
처음 두 가지 방법으로 나쁜 무엇입니까?