C#/Prism

[C# - Prism] 프리즘 예제 08 - ViewModelLocator

반나무 2023. 7. 25. 22:34

안녕하세요, 반나무입니다.

이번 예제는 View와 ViewModel을 연결하는 예제입니다.

 

핵심코드는 Window에 사용되는 아래 코드입니다. 

prism:ViewModelLocator.AutoWireViewModel="True"
<Window x:Class="ViewModelLocator.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:prism="http://prismlibrary.com/"
        prism:ViewModelLocator.AutoWireViewModel="True"
        Title="{Binding Title}" Height="350" Width="525">
    <Grid>
        <ContentControl prism:RegionManager.RegionName="ContentRegion" />
    </Grid>
</Window>

위 코드를 사용하면 View와 ViewModel을 자동으로 연결 할 수 있습니다.

자동 연결 조건은 다음과 같습니다.

  • ViewModels라는 Namespace를 가져야한다.
  • 해당 View + ViewModel인 클래스명을 가져야한다.

위 조건을 만족하지 않으면 연결되지않으니 주의해야합니다.

 

ViewModel이 연결되어 Title이 Binding된 모습

프리즘은 어떻게 View와 ViewModel을 자동으로 연결 할 수 있는걸까요?

이어서 나오는 다음 예제에서는 View와 ViewModel을 연결하는 조건을 변경하는 방법과 내부 구현을 파악해보는 시간을 가져 보겠습니다.

반응형