프리즘을 사용하고 있으며 뷰에서 IConfirmNavigationRequest
을 구현하여 필요에 따라 유효성 검사를 수행하고 탐색을 취소 할 수 있습니다.프리즘 ConfirmNavigationRequest()가 DataContext = this 일 때 두 번 호출됩니다.
내 문제는 MVVM을 사용하지 않는 여러 가지보기가 있고 DataContext = this
을 정의한다는 것입니다. 이렇게하면 Prism이 내보기의 ConfirmNavigationRequest()
을 두 번 호출하게되므로 사용자의 응답을 두 번 요청합니다.
는 기본적으로 무슨 일이에요하는 것은 이것이다 : 뷰가 IConfirmNavigationRequest
를 구현하고 않는 경우에 ConfirmNavigationRequest()
를 호출
- 프리즘 확인합니다.
- 계속 하시겠습니까?
- 사용자가 확인을 클릭하면
ConfirmNavigationRequest()
이true
을 반환합니다. - 프리즘은 viewmodel (필자의 경우보기입니다.)이
IConfirmNavigationRequest
을 구현하는지 확인한 후ConfirmNavigationRequest()
을 호출합니다. - 계속 하시겠습니까? 당신이 볼 수 있듯이이 뷰와 뷰 모델 모두를 쿼리 때문에
는, 프리즘 두 번을 확인 내보기를 요청합니다.
내 질문은 어떻게 이런 일이 일어나지 않도록하거나 어떻게 그 중 하나를 무시할 수있는 호출을 감지 할 수 있습니까? 내가 continuationCallback
매개 변수를 조사하는 것에 대해 생각했지만, 다음 버전의 프리즘에서 깨질 가능성은 거의 없으므로이 솔루션이 너무 마음에 들지 않습니다.