2016-10-14 3 views
0

Catel 4.3.0 framework을 사용합니다.Catel InterestedIn OnViewModelCommandExecuted 실행 된 명령을 확인하십시오

나는 [InterestedIn(typeof(AddSupplierWindowViewModel))] 내 ViewModels 중 하나를 장식하고 올바르게

protected override void OnViewModelCommandExecuted(IViewModel viewModel, 
         ICatelCommand command, object commandParameter) 

이 이벤트가 발생을 추가했습니다.

AddSupplierWindowViewModel 나는 여러 개의 명령을 가지고 있지만이 뷰 모델에는 CmdAddSupplier 만 관심이 있습니다.

그래서이 명령이 실행되었는지 확인하고 싶지만 테스트하는 방법을 알 수 없습니다.

나는 command.Name == "CmdAddSupplier"과 같은 것을 기대하지만 이것과 같은 것을 찾을 수 없습니다.

다른 사람이이를 테스트하는 방법의 예를 제공 할 수 있습니까?

종류는

제론이

+0

나는 AddSupplierWindowViewModel vm = (AddSupplierWindowViewModel)을 보았습니다. viewModel; if (vm.CmdAccept == command) {myCode}이 방법이 맞습니까? –

답변

0

우리는 1 개 이상의 뷰 모델에 걸쳐 명령을 호스트하는 대신 뷰 모델의 CommandContainers을 사용하는 것이 좋습니다 간주한다. 관심 대상 커뮤니케이션은 v5에서 Catel에서 제거 될 가능성이 큽니다 (대부분).

일부 좋은 예는 Orchestra repository에서 찾을 수 있습니다.

실제로 관심 사용자 (실제로는보기 모델 간의 통신을 처리하기 위해 서비스를 설정하는 지름길)를 계속 사용하려면 인스턴스를 검색하는 방법을 알아야합니다 명령의 인스턴스를 명령 이름으로 가져옴). 예를 들어, 명령의 Tag 속성을 사용할 수 있습니다.