728x90
프로젝트 구조가 아래와 같은 폴더구조로 사용되는 경우
아래처럼 App.xaml.cs 단에 정의해준다.
protected override void ConfigureViewModelLocator() { base.ConfigureViewModelLocator(); // TView - TViewModel 과 연계시키기 위함 ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver((viewType) => { var viewName = viewType.FullName; if (viewName == null) return null; viewName = viewName.Replace(".Views.", ".ViewModels."); var viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName; var viewModelName = $"{viewName}Model,{viewAssemblyName} "; return Type.GetType(viewModelName); }); } |
Prism 에서 View와 ViewModel 간의 연계를 해줄때 이름 규칙이 AView - AViewViewModel 이런식으로 되있다.
그런데 위처럼 프로젝트를 구성한 경우 규직을 바꿔주고싶을때 위처럼 코딩하여 규칙을 바꿀수 있다.
위처럼 하게되면 AView-AViewModel 이렇게 연계가 가능하다.
prism:ViewModelLocator.AutoWireViewModel="True" xaml 단에 정의가 되면 ViewModel 을 자동으로 연계시켜준다.
728x90
'C# > WPF' 카테고리의 다른 글
[WPF] hexcode Color 사용하기 (0) | 2021.10.25 |
---|---|
[WPF] 다른 프로젝트에 있는 이미지 가져다 쓰기 (0) | 2021.10.06 |
[WPF] Border 에 DropShadowEffect (그림자효과) 주기 (0) | 2021.08.13 |
[WPF] Text 개행처리하기(new line) - 
 (0) | 2021.08.04 |
[WPF] Eapander Header 처리하기 (0) | 2021.08.03 |