If I understood your scenario correctly what you are saying is that when you navigate to the
CustomerDetailsView or CustomerOrdersView (in the
DetailsRegion) the IConfirmNavigationRequest methods of the
CustomerSummaryViewModel (which request the navigation) are not being executed.
However, this is not an "unusual" behavior: When a navigation request is performed,
Prism invokes the IConfirmNavigationRequest methods of the corresponding views and view models
contained in the region where the navigation is performed.
For example, in this case when you perform a navigation request to the "DetailsRegion,"
Prism would invoke the IConfirmNavigationRequest
methods of the views and view models contained in it, that is, the CustomerDatailsView
and CustomerOrdersView (in the sample you provided those views don't implement
You can find more information about this in the following section of Prism's documentation:
Also, I believe you can find the
View-Switching Navigation Quick Start mentioned by Agustin interesting.
As a side note, it seems that you are not using the ConfirmNavigationRequest
method. If that is so and you want to implement only the OnNavigateTo,
OnNavigateFrom and IsNavigationTarget methods, I believe you could implement the
INavigationAware interface instead of the IConfirmNavigationRequest.