2010-04-19 4 views
2

MVVM 및 IoC를 배우기 위해 사용하는 WPF 응용 프로그램이 있습니다.IoC 및 디자인 타임

뷰 중 하나에서 사용되는 모델은 IoC 컨테이너의 생성자에서 해당 종속성 중 하나를 가져 오는 것으로 예상된다는 점이 문제입니다.

Visual Studio 디자이너에서이 뷰를 작업 할 때 모델에서 예외가 발생하기 때문에 디자인을 표시 할 수 없습니다.

이 방법이 있습니까? 코드에서 잘못된 위치에 의존성을 가져 오거나 생성자 삽입을 통해 생성 된 의존성을 전달할 수있는 방법이 있습니다.

현재 IoC 컨테이너는 App.xaml.cs.x에서 코드로 설정됩니다.

IOC의 컨테이너는 롤 - 네 - 자신의 MSDN에이 문서에서 촬영 된 모든 사진 - http://msdn.microsoft.com/en-us/magazine/cc337885.aspx

답변

0

내가 최근에 비슷한 문제에 직면했다. 나는 다음과 같은 체크로 주위에 일 :

private void UserControl_Loaded(object sender, RoutedEventArgs e) 
    { 
     if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject())) 
      Init(); 
    } 
+0

감사합니다 - WinForms에서의 작업과 유사합니다. – benPearce

0

나는 문제가 XAML 디자이너에서 제대로 렌더링보기 생성자이 이동함으로써 XAML 내에서보기의 데이터 컨텍스트로 뷰 모델을 선언함으로써 발생하는 것을 발견했다.

관련 문제