안녕하세요, 반나무입니다.이번 예제는 RegionMember(view)의 Lifetime을 살펴보는 예제입니다. Region은 View를 다양하게 가질 수 있습니다.IRegionMemberLifetime.KeepAlive를 통해 Region에서 View가 변경될 시해당 View 인스턴스를 유지 할 지 말지 선택 할 수 있습니다.KeepAlive = false : 인스턴스 DisposeKeepAlive = true : 인스턴스 유지public class ViewAViewModel : BindableBase, INavigationAware, IRegionMemberLifetime{ public ViewAViewModel() { } public bool KeepAlive { get => fa..
안녕하세요, 반나무입니다.이미 많은 분들이 알고계시겠지만 View에서 F12를 눌러서 ViewModel로 타고 넘어가는 방법을 소개 해드리려고 합니다. 해당 방법은 정확히는 View에 DataContext를 연결하는 방법입니다. 기본적으로는 예시와 같은 코드가 있다고 할 때, Binding된 값에 F12를 누르면 아래와 같이 나옵니다. 그 이유는 Binding 프로퍼티만 치면 Path=가 생략되기 때문에 원래는 저 모양이라 그렇습니다. 코드를 아래 처럼 두줄 추가 해 줍니다.(내용은 이 글을 보시는 분들 마다 다 다릅니다) Line 7 : 사용할 네임스페이스 작성Line 8 : d:DataContxt를 해당 네임스페이스의 MainViewModel Class로 설정(이건 제 ViewModel 클래스 이름..
안녕하세요, 반나무입니다. 이번 예제는 NavigationParticipation 예제입니다. 예제코드들을 보다보면 영어공부를 더 많이 하게 되는것 같습니다. Participation = 참여 뜻을 직역하자면 네비게이션 참여. 코드를 보고, 예제를 확인해보면 단순히 Region을 Navigate하기보단 해당 Region에 직접 참여해 조작하는 모습을 볼 수 있습니다. NavigationParticipation CommandParameter를 통해 ViewA와 ViewB를 Region에 Navigate하는 부분이있습니다. Navigate to View A Navigate to View B private void Navigate(string navigatePath) { if (navigatePath != n..
안녕하세요, 반나무입니다. 이번 예제는 NavigationCallback입니다. 앞선 예제에서 기본적인 Navigation기능을 살펴보았는데요, 이번 예제에서는 RequestNavigation에 Callback함수가 있는 예제입니다. BasicRegionNavigation MainWindowViewModel.cs NavigationComplete callback을 등록합니다. Navigate가 완료됨과 동시에 callback 함수를 실행합니다. private void Navigate(string navigatePath) { if (navigatePath != null) _regionManager.RequestNavigate("ContentRegion", navigatePath, NavigationComp..
안녕하세요, 반나무입니다. 이번 예제는 BasicRegionNavigation예제입니다. 간단히 풀면 어떤 Region에 원하는 View를 띄워주는 예제입니다. 프로그램 구조 프로그램 구조는 다음과 같습니다. BasicRegionNavigation : Shell ModuleA : View를 Register만 하는 Module MainWindow.xaml ViewA와 ViewB라는 string을 CommandParameter로 넘겨줍니다. Navigate to View A Navigate to View B MainWindowViewModel.cs MainWindow에서 전달받은 파라미터를 통해 ViewModel에서 ContentRegion을 Navigate합니다. private void Navigate(s..