[C# - Prism] 프리즘 예제 13 - IActiveAwareCommandsC#/Prism2023. 8. 8. 20:50
Table of Contents
안녕하세요, 반나무입니다.
이번 예제는 IActiveAwareCommand를 사용하는 방법을 안내합니다.
IActiveAware가 구현되면 선택된 해당 영역에서 알림을 받을 수 있습니다.
"객체 인스턴스가 활성화되었는지를 정의하고 활동이 변경될 때 알림을 내보내는 인터페이스입니다."
UsingCompositeCommands.Core
public interface IApplicationCommands
{
CompositeCommand SaveCommand { get; }
}
public class ApplicationCommands : IApplicationCommands
{
// 생성자의 매개변수가 true로 이전 예제와는 다름
// true일 시 연결되지않은 독립적인 CompositeCommand가 생성됨
private CompositeCommand _saveCommand = new CompositeCommand(true);
public CompositeCommand SaveCommand
{
get { return _saveCommand; }
}
}
ModuleA
UsingCompositeCommands예제와 다른점은 해당 ViewModel에서 IActiveAware를 상속받았다는점 입니다.
public class TabViewModel : BindableBase, IActiveAware
{
...
bool _isActive;
public bool IsActive
{
get { return _isActive; }
set
{
_isActive = value;
OnIsActiveChanged();
}
}
private void OnIsActiveChanged()
{
UpdateCommand.IsActive = IsActive;
IsActiveChanged?.Invoke(this, new EventArgs());
}
public event EventHandler IsActiveChanged;
}
IActiveAware는 IsActive를 구현해야하며, IsActive는 객체가 활성화되었는지의 여부를 판단합니다.
이 기능이 어디에 쓰이고 좋은지는 잘 모르겠습니다.
CompositeCommand를 true로 각각 만들었을때의 이점도 잘 모르겠네요
반응형
'C# > Prism' 카테고리의 다른 글
[C# - Prism] 프리즘 예제 15 - FilteringEvent (0) | 2023.08.27 |
---|---|
[C# - Prism] 프리즘 예제 14 - UsingEventAggregator (0) | 2023.08.14 |
[C# - Prism] 프리즘 예제 12 - UsingCompositeCommands (0) | 2023.08.06 |
[C# - Prism] 프리즘 예제 11 - UsingDelegateCommand (0) | 2023.08.05 |
[C# - Prism] 프리즘 예제 10 - CustomRegistrations (0) | 2023.07.26 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!