안녕하세요, 반나무입니다. 이번 예제는 IActiveAwareCommand를 사용하는 방법을 안내합니다. IActiveAware가 구현되면 선택된 해당 영역에서 알림을 받을 수 있습니다. "객체 인스턴스가 활성화되었는지를 정의하고 활동이 변경될 때 알림을 내보내는 인터페이스입니다." UsingCompositeCommands.Core public interface IApplicationCommands { CompositeCommand SaveCommand { get; } } public class ApplicationCommands : IApplicationCommands { // 생성자의 매개변수가 true로 이전 예제와는 다름 // true일 시 연결되지않은 독립적인 CompositeCommand가 생..
안녕하세요, 반나무입니다. 이번 예제는 CompositeCommand를 사용하는 방법을 안내합니다. CompositeCommand는 해당 Command를 통해 다른 ViewModel들의 DelegateCommand를 동시에 사용한다고 생각하면 됩니다. 한 개의 DelegateCommand라도 CanExcute = false일 경우 CompositeCommd의 CanExcute는 false가 됩니다. 설정창을 모듈화 한다면 전체 저장 같은 거에 사용하면 딱 좋을 듯합니다. 프로젝트 구조 먼저 프로젝트 구조를 살펴보겠습니다. .Core가 들어간 프로젝트가 있어 처음에는 당황할 수 있습니다. .Core로 이름을 지은 프로젝트는 해당 프로그램에서 전반적으로 사용되는 기능들이 들어있는 프로젝트라고 생각하면 됩니다..
안녕하세요, 반나무입니다. 이번 예제에서는 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;..