MVVM (WPF 용)의 대화 상자 모범 사례에 대한 합의가 있습니까?내 ViewModels에서 대화 상자를 생성하는 방법은 무엇입니까?
매개체 (EventAggregator, EventBus, 또는 당신은 전화를 원하는대로)는 "DialogProcessed"메시지에 대한 "RequestsDialog"메시지를 보내고 기다리는 그 : 나는 두 가지 방법을 통해 접근 보았다.
호출자의 뷰 모델에 바인딩되어 Command 또는 EventTrigger 등을 통해 표시되는 xaml보기 자체에서 선언 된 대화 상자입니다.
나는 더 좋은 방법이 무엇인지 알아 내려고하고 있습니다. 도움이 필요합니다.
# 1에 대한 내 관심사는 (언제나 그렇듯이) 요청 및 응답 메시지의 범위를 제어하는 가장 좋은 방법은 무엇입니까? 내 말은, "local"메시지와 "global"애플리케이션 메시지가 중재자에 의해 처리된다고 가정 해 봅시다. 어떻게하면 내 ViewModel이 여전히 글로벌 메시지를받을 수 있는지 어떻게 확인합니까?하지만 동시에 다른 ViewModel 현재 창에서 실수로 활성 ViewModel 용 DialogProcessed 메시지를 수신하지 않습니다.
- 1 창 :
는 다음과 같은 시나리오를 가지고 (RequestCloseWindow 메시지와 같이) ViewModel1에서 수신합니다.
ViewModel2가 ViewModel1에서 시작한 RequestConfirmation 메시지에 대한 ConfirmationResponse 메시지를 가져 오지 않도록하려면 어떻게해야합니까?
"Response"이벤트를 발생시키는 사람은 응답의 evt.Source에서 "Request"이벤트의 원본 소스를 전달합니까? – Jeff
@ JeffN825 물론 그렇습니다. – Rachel