배경
`ICommand.CanExecuteChanged`를 어떻게 구현해야합니까?
조쉬 스미스의 글을 보면서 약CommandGroup
, 나는
ICommand.CanExecuteChanged
을 구현하는 방법에 대한 인터넷에 대한 의견의 숫자가있는 것으로 나타났습니다. 비슷한 질문에 유래에
here을 게시했습니다
하지만
- 명확한 응답이 같은 느낌하지 않으며,
- 충분히 코멘트에 실 추가 추가 할 수 있도록이 아니다 문맥. 참고로
:
- 조쉬 스미스의 원래 article에 대한
CommandGroup
는 - 조쉬 스미스의
RelayCommand
이CommandManager
implementation - 마이크로 소프트의 자신
RoutedCommand
이의CommandManager
implementation를 사용CanExecuteChanged
의를 사용하는 간단한 .NET 이벤트를 사용CanExecuteChanged
- 마이크로 소프트의 PRISM 라이브러리 (버전 : 6) 또한 uses 간단한 .NET 이벤트 (이전 버전을 사용하는 것은 약한 참조)
내 질문
내가 WPF 비교적 새로운 오전, 나는 방법을 알고 싶습니다 예상치 못한 동작이나 메모리 누수를 방지하려면 CanExecuteChanged
이벤트가 Josh Smith의 CommandGroup
에 구현되어 있어야합니다.
추가 읽기
Josh Smith: Aggregating WPF Commands with CommandGroup
Josh Smith: WPF apps with the MVVM design pattern
StackOverflow: Is Josh Smith's implementation of the RelayCommand flawed?
StackOverflow: comment about CanExecuteChanged
의견을 보내 주셔서 감사합니다. 나는 네가하는 말을 들었지만 똑바로 보일 수는 없다. 예를 들어 [Josh Smith의 RelayCommand 구현에 결함이 있습니까?] (https://stackoverflow.com/q/2281566/949681) 기사를 참조하십시오. 이 스레드에는 주제에 대해 앞뒤로 가본 경험이 풍부한 일부 개발자의 의견이 포함됩니다. 생각? – Pressacco