WPF/MVVM 응용 프로그램에서 코드 길이가 긴 작업 전에 기본보기 커서를 Cursors.Wait
으로 설정하고 완료 후 기본 커서로 복원하는 코드 효율적인 방법을 찾으려고합니다.보기 내에서 RoutedCommand의 실행을 차단하는 방법은 무엇입니까? (WPF/MVVM)
모든 작업이 라우팅 된 명령을 사용하여 호출되기 때문에 기본으로 라우팅 된 명령의 인스턴스를 래핑하는 일반 명령 클래스를 생성하여 명령 실행을 차단하는 방법을 찾고 싶습니다. 이것을하는 방법을 시각화하십시오.
특히 RoutedCommand.Execute
메서드는 가상이 아니므로 호출을 가로 채기위한 다른 메커니즘이 필요합니다. 또한 generic 명령 클래스의 인스턴스가 커서를 설정해야하는 뷰를 참조하는 방법을 잘 모르겠습니다.
아무쪼록 부탁드립니다.
감사합니다,
팀
:
작업 후에는이 같은 재정을 취소해야 완료 다소 복잡한 것처럼 들리지만, 단순히 ViewModel에서 CurrentCursor 속성을 만들고 뷰에서 커서를 해당 속성에 바인딩 할 수없는 이유가 무엇입니까? –
@Wonko. 감사합니다. 좋은 질문입니다. MVVM과 가장 유사한 방식 인 것 같습니다. 그러나 커서 관리 코드를 중앙 집중화하기를 원했지만 동일한 2 행 코드 변경을 많은 ViewModel 메서드에 적용해야한다는 것을 의미합니다. 두 번째 복잡한 점은 내 View에 라우트 된 명령을 허용하는 일부 컨트롤이 있다는 것입니다. 그것들은 ViewModel의 일부가 아니기 때문에 같은 로직을 그들의 연산에 어떻게 적용합니까? –