C#/Prism

[C# - Prism] 프리즘 예제 06 - ViewActivationDeactivation

반나무 2023. 7. 23. 20:23

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

이번 예제에서는 View를 Activation / Deactivation하는 기능을 안내합니다.

이런 기능을 사용할 때로 보여지는 곳은 아마 설정창안에 다양한 View를 보여주고자 할 때가 될 것 같습니다.
ex) GeneralSettings, UserSettings를 구분지어 View로 보여줄 때 등

 

// MainWindow.xaml.cs

public MainWindow(IContainerExtension container, IRegionManager regionManager)
{
    InitializeComponent();
    _container = container;
    _regionManager = regionManager;

    this.Loaded += MainWindow_Loaded;
}

private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
    // View 생성
    _viewA = _container.Resolve<ViewA>();
    _viewB = _container.Resolve<ViewB>();

    // RegionManager에 Region 등록
    _region = _regionManager.Regions["ContentRegion"];

    // Region에 View 추가
    _region.Add(_viewA);
    _region.Add(_viewB);
}

private void Button_Click(object sender, RoutedEventArgs e)
{
    // activate view a
    _region.Activate(_viewA);
}

private void Button_Click_1(object sender, RoutedEventArgs e)
{

    // deactivate view a
    _region.Deactivate(_viewA);
}

여기서 특이한점은 View를 사용한다고 명시하지 않았음에도 ViewA가 초기에 보이는점이 독특합니다.

반응형