C#/Prism

[C# - Prism] 프리즘 예제 20 - NavigateToExistingViews

반나무 2023. 9. 17. 22:11

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

이번 예제는 Navigate될 때 View가 이미 존재하는지 확인하는 예제입니다.

 

예제를 실행시켜보면 Navigate to View A클릭시 ViewA가 추가되는데 3개를 넘으면 새 View가 추가됩니다.

(View B도 마찬가지입니다.)

 

다른 부분 코드는 대부분 비슷하며, IsNavigationTarget만 다르게 사용중 입니다.

IsNavigationTarget은 기존 View를 사용할지, 새로 View를 출력할지 결정합니다.

 

ViewAViewModel

private int _pageViews;
public int PageViews
{
    get { return _pageViews; }
    set { SetProperty(ref _pageViews, value); }
}

public void OnNavigatedTo(NavigationContext navigationContext)
{
    PageViews++;
}

public bool IsNavigationTarget(NavigationContext navigationContext)
{
    return PageViews / 3 != 1;
}

public void OnNavigatedFrom(NavigationContext navigationContext) { }

 

반응형