[C# - Prism] 프리즘 예제 23 - RegionMemberLifetime
C#/Prism2024. 5. 29. 21:15[C# - Prism] 프리즘 예제 23 - RegionMemberLifetime

안녕하세요, 반나무입니다.이번 예제는 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..

[C# - Prism] 프리즘 예제 21 - PassingParameters
C#/Prism2023. 9. 20. 23:56[C# - Prism] 프리즘 예제 21 - PassingParameters

안녕하세요, 반나무입니다. 이번예제는 Navigation을 사용 할 때 파라미터를 넘겨주는 예제입니다. 처음에는 아무것도 없다가, item들을 선택 할 때마다 하단의 TabControl에 View들이 추가되는것을 확인 할 수 있습니다. PersonListViewModel.cs 파라미터를 넘겨주기위해서는 아무 타입이나 넘길 수 없으며, NavigationParameters 클래스를 만들고 해당 클래스 내부의 Dictionary 타입에 값을 Add해야합니다. private void PersonSelected(Person person) { var parameters = new NavigationParameters(); parameters.Add("person", person); if (person != nul..

[C# - Prism] 프리즘 예제 18 - NavigationCallback
C#/Prism2023. 9. 4. 14:04[C# - Prism] 프리즘 예제 18 - NavigationCallback

안녕하세요, 반나무입니다. 이번 예제는 NavigationCallback입니다. 앞선 예제에서 기본적인 Navigation기능을 살펴보았는데요, 이번 예제에서는 RequestNavigation에 Callback함수가 있는 예제입니다. BasicRegionNavigation MainWindowViewModel.cs NavigationComplete callback을 등록합니다. Navigate가 완료됨과 동시에 callback 함수를 실행합니다. private void Navigate(string navigatePath) { if (navigatePath != null) _regionManager.RequestNavigate("ContentRegion", navigatePath, NavigationComp..

[C# - Prism] 프리즘 예제 16 - RegionContext
C#/Prism2023. 9. 2. 09:56[C# - Prism] 프리즘 예제 16 - RegionContext

안녕하세요, 반나무입니다. 이번 예제는 RegionContext입니다. Context는 사전적인 정보로는 문맥, 맥락정도로 순화되지만 컴퓨터분야에서 쉽게 설명하면 현재 사용중인 오브젝트나 로직 정도로 생각해주시면 됩니다. RegionContext예제는 Region에서 사용중인 DataContext를 어떻게 변경하는지 알아봅니다. 프로그램 구조 프로그램 구조는 다음과 같습니다. ModuleA : 실제 RegionContext가 동작 하는 부분 RegionContext : Shell, ModuleA를 참조한다. ModuleA ModuleAModule.cs 각 View를 region에 추가합니다. public class ModuleAModule : IModule { public void OnInitialize..

[C# - Prism] 프리즘 예제 05 - ViewInjection
C#/Prism2023. 7. 19. 22:54[C# - Prism] 프리즘 예제 05 - ViewInjection

안녕하세요, 반나무입니다. 이번 예제도 저번과 마찬가지로 MainWindow의 코드비하인드에서 작업됩니다. Prism을 공부한다는건 Prism의 Interface를 공부하는것과 마찬가지인듯 하네요 IContainerExtension Prism Container를 주입을 통해 사용하기 위해 사용됩니다. IRegionManager Region을 관리하는데 사용됩니다. 대체로 View에서 RegionManager를 통해 RegionName을 등록합니다. // MainWindow.xaml.cs IContainerExtension _container; IRegionManager _regionManager; public MainWindow(IContainerExtension container, IRegionMana..

image