내가 두 가지 옵션을 참조하십시오
먼저, 당신은 "마커"인터페이스 및 사용과 ViewModelB을 표시 할 수있는 대신 실제 클래스 이름.
Messenger.Default.Send<string, IMessageTarget>("Something Happened");
이것은 내가 가장 좋아하는 솔루션은 아니지만 작동해야합니다.
또는 ViewModelA의 명확화 메시지를 전송하는 동안 당신이 ViewModelB에서 특정 토큰을 사용하여 메시지를 등록 할 수 있습니다 : ViewModelA에서
: ViewModelB에서
Messenger.Default.Send<string>("Something Happened", "MessageDisambiguator");
: 많은
Messenger.Default.Register<string>(
this,
"MessageDisambiguator",
(action) => DoWork(action)
);
을 Cleaner를 사용하고 테스트 목적으로 ViewModelB를 조롱 할 수 있습니다.
이 더 많은 옵션이 될 수 있지만이이 늦은 시간에 내 머리의 상단에 팝업 것들입니다 수 ...
네, 감사 크리스, 나는 2 옵션을 사용하고이 나에게 꽤 좋은 것 같다
. 아마도 문자열 대신에 토큰에 대해 MessengerSimpleTokens 열거 형을 만들 것입니다. –