C#/Prism

    [C# - Prism] 프리즘 예제 12 - UsingCompositeCommands

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

    [C# - Prism] 프리즘 예제 11 - UsingDelegateCommand

    안녕하세요, 반나무입니다. 이번 예제에서는 DelegateCommand를 사용하는 방법을 안내합니다. MVVM 패턴을 사용하며 Prism을 사용하지 않을 때는 ICommand를 상속받은 Command를 제작해 버튼 클릭을 제어했었습니다. Prism에서는 해당 기능을 제공하고있습니다. private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { SetProperty(ref _isEnabled, value); // 해당 DelegateCommand의 CanExecute를 실행한다. ExecuteDelegateCommand.RaiseCanExecuteChanged(); } } private string _updateText;..

    [C# - Prism] 프리즘 예제 10 - CustomRegistrations

    안녕하세요, 반나무입니다. 이전 08, 09번 예제에서는 View와 ViewModel을 자동으로 연결하고, 연결 조건을 커스텀하는걸 해봤는데요 이번 예제에서는 수동으로 View와 ViewModel을 연결하는 방법을 안내합니다. protected override Window CreateShell() => Container.Resolve(); protected override void RegisterTypes(IContainerRegistry containerRegistry){} // View와 ViewModel을 연결한다. protected override void ConfigureViewModelLocator() { base.ConfigureViewModelLocator(); // type / type ..

    [C# - Prism] 프리즘 예제 09 - ChangeConvention

    안녕하세요, 반나무입니다. 지난 예제에서는 View와 ViewModel을 자동으로 연결했었는데요 이번 예제에서는 자동으로 연결되는 조건을 변경하는 방법을 안내합니다. ChangeConvention 예제 // App.xaml.cs public partial class App : PrismApplication { protected override Window CreateShell() => Container.Resolve(); protected override void RegisterTypes(IContainerRegistry containerRegistry){} // View,ViewModel 자동연결 조건 변경 protected override void ConfigureViewModelLocator() {..

    [C# - Prism] 프리즘 예제 08 - ViewModelLocator

    안녕하세요, 반나무입니다. 이번 예제는 View와 ViewModel을 연결하는 예제입니다. 핵심코드는 Window에 사용되는 아래 코드입니다. prism:ViewModelLocator.AutoWireViewModel="True" 위 코드를 사용하면 View와 ViewModel을 자동으로 연결 할 수 있습니다. 자동 연결 조건은 다음과 같습니다. ViewModels라는 Namespace를 가져야한다. 해당 View + ViewModel인 클래스명을 가져야한다. 위 조건을 만족하지 않으면 연결되지않으니 주의해야합니다. 프리즘은 어떻게 View와 ViewModel을 자동으로 연결 할 수 있는걸까요? 이어서 나오는 다음 예제에서는 View와 ViewModel을 연결하는 조건을 변경하는 방법과 내부 구현을 파악해..