[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..

[C# - Prism] 프리즘 예제 04 - ViewDiscovery
C#/Prism2023. 7. 16. 17:52[C# - Prism] 프리즘 예제 04 - ViewDiscovery

안녕하세요, 반나무입니다. 이번 예제는 Region에 해당 View를 등록하는 예제입니다. RegionManager를 담당하는 코드가 ViewModel이나 다른 클래스가아니라 코드비하인드 부분인게 좀 맘에 안드네요 IRegionMananger를 DI로 받아 사용합니다. ContentRegion에 ViewA를 등록합니다. // MainWindow.xaml.cs public partial class MainWindow : Window { public MainWindow(IRegionManager regionManager) { InitializeComponent(); //view discovery regionManager.RegisterViewWithRegion("ContentRegion", typeof(Vi..

[C# - Prism] 프리즘 예제 03 - CustomRegions
C#/Prism2023. 7. 16. 17:19[C# - Prism] 프리즘 예제 03 - CustomRegions

안녕하세요, 반나무입니다. 이번 예제는 단순히 빌드만 해서는 결과가 보이지않아 프로젝트를 따로 만들어 확인했습니다. StackPanel이나 Grid같은 다른 Control에서 Region을 사용가능하게 하는 예제입니다. 먼저 Prism에서 RegionAdapter는 4가지가 있습니다. ContentControlRegionAdapter SelectorRegionAdapter ItemsControlRegionAdapter TabControlRegionAdapter(Sliverlight만 해당) 예제에서는 StackPanelRegionAdapter를 새로 구현했으며, 해당 StackPanel에 Module를 Add하면 StackPanel디자인에 맞게 연결되어 들어갑니다. // App.xaml.cs protec..

C#/Prism2023. 7. 16. 10:44[C# - Prism] 프리즘 예제 02 - Regions

안녕하세요, 반나무입니다. 프리즘 예제 두번째 Regions입니다. 해당 예제에서는 크게 Region을 통해 view를 보여주지는 않아 재밌는 예제는 아니네요 프리즘은 크게 3가지 영역으로 구분된다고 할 수 있습니다. Shell : 프로그램 App을 나타냅니다. → 대부분 MainWindow로 사용합니다. Region : MainWindow의 안에 다양한 Module또는 View를 붙여 사용할 수 있습니다. Module : 여러 재사용성이 가능한, 프로젝트 단위의 기능입니다. Region은 RegionManager에 등록해서 사용합니다. 실제 프로젝트를 진행할 때는 ContentRegion이라는 문자열을 그대로 넣기 보다는 .Core 프로젝트를 만들어 참조한다음 RegionNames 클래스안에 상수로 만..

C#/Prism2023. 7. 16. 10:18[C# - Prism] 프리즘 예제 01 - BootStrapperShell

안녕하세요, 반나무입니다. Prism예제를 정리해보는 첫번째 글입니다. Prism을 사용하기 위해서는 처음에 Init을 해야합니다. Init 방법에는 제가 사용하는 방식은 두가지가 있는데 우선 예제는 그 중 첫번째인 BootStrapperShell에 대해 안내합니다. 우선 Bootstrapper 클래스를 만들고 PrismBootstrapper 클래스를 상속받습니다. PrismBootstrapper 클래스는 예제에서는 Prism.Unity를 사용하지만. 저는 Prism.DryIoc를 사용중입니다. // BootstapperShell.cs class Bootstrapper : PrismBootstrapper { // Shell을 만들어준다. protected override DependencyObject C..

image