[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] 프리즘 예제 15 - FilteringEvent
C#/Prism2023. 8. 27. 14:29[C# - Prism] 프리즘 예제 15 - FilteringEvent

안녕하세요, 반나무입니다. 이번 예제는 지난 예제에 이어서 EventAggregator를 사용합니다. Event를 Filtering해 원하는 Event만 사용 할 수 있게 하는 방법을 안내합니다. 다른 부분 코드는 동일하며 Event를 Subcribe(구독)하는 부분에서 코드가 다릅니다. ModuleB public class MessageListViewModel : BindableBase { IEventAggregator _ea; private ObservableCollection _messages; public ObservableCollection Messages { get { return _messages; } set { SetProperty(ref _messages, value); } } publi..

[C# - Prism] 프리즘 예제 14 - UsingEventAggregator
C#/Prism2023. 8. 14. 22:17[C# - Prism] 프리즘 예제 14 - UsingEventAggregator

안녕하세요, 반나무입니다. 이번 예제는 EventAggregator를 사용하는 방법을 안내합니다. Aggregator 뭔가 단어만으로는 탁! 감이 오지않아서 검색해보니 어떤 정보를 모아서 제공하는 듯한 느낌이네요 EventAggregator는 여기저기 다른 모듈에 퍼져있는 Event들을 모아서 처리 할 수 있도록 해주는 기능입니다. 왼쪽이 ModuleA / 오른쪽이 ModuleB입니다. UsingEventAggregator.Core 지난 예제에서 설명했듯이, 여러 모듈들이나 다양한곳에서 접근하는 기능들은 .Core에 생성합니다. 이번 예제에서는 Event를 .Core에 생성했습니다. namespace UsingEventAggregator.Core { // MessageSentEvent라는 Event를 만..

C#/Prism2023. 8. 8. 20:50[C# - Prism] 프리즘 예제 13 - IActiveAwareCommands

안녕하세요, 반나무입니다. 이번 예제는 IActiveAwareCommand를 사용하는 방법을 안내합니다. IActiveAware가 구현되면 선택된 해당 영역에서 알림을 받을 수 있습니다. "객체 인스턴스가 활성화되었는지를 정의하고 활동이 변경될 때 알림을 내보내는 인터페이스입니다." UsingCompositeCommands.Core public interface IApplicationCommands { CompositeCommand SaveCommand { get; } } public class ApplicationCommands : IApplicationCommands { // 생성자의 매개변수가 true로 이전 예제와는 다름 // true일 시 연결되지않은 독립적인 CompositeCommand가 생..

[C# - Prism] 프리즘 예제 12 - UsingCompositeCommands
C#/Prism2023. 8. 6. 10:13[C# - Prism] 프리즘 예제 12 - UsingCompositeCommands

안녕하세요, 반나무입니다. 이번 예제는 CompositeCommand를 사용하는 방법을 안내합니다. CompositeCommand는 해당 Command를 통해 다른 ViewModel들의 DelegateCommand를 동시에 사용한다고 생각하면 됩니다. 한 개의 DelegateCommand라도 CanExcute = false일 경우 CompositeCommd의 CanExcute는 false가 됩니다. 설정창을 모듈화 한다면 전체 저장 같은 거에 사용하면 딱 좋을 듯합니다. 프로젝트 구조 먼저 프로젝트 구조를 살펴보겠습니다. .Core가 들어간 프로젝트가 있어 처음에는 당황할 수 있습니다. .Core로 이름을 지은 프로젝트는 해당 프로그램에서 전반적으로 사용되는 기능들이 들어있는 프로젝트라고 생각하면 됩니다..

image