Я бы использовал методы OnNavigatedTo и OnNavigatedFrom для передачи объектов с помощью NavigationContext.
Сначала выведите модель представления из интерфейса INavigationAware -
public class MyViewModel : INavigationAware
{ ...
Затем вы можете реализовать OnNavigatedFrom и установить объект, который вы хотите передать в качестве контекста навигации, следующим образом -
void INavigationAware.OnNavigatedFrom(NavigationContext navigationContext)
{
SharedData data = new SharedData();
...
navigationContext.NavigationService.Region.Context = data;
}
и, если вы хотите получить данные, добавьте следующий фрагмент кода в модель второго представления -
void INavigationAware.OnNavigatedTo(NavigationContext navigationContext)
{
if (navigationContext.NavigationService.Region.Context != null)
{
if (navigationContext.NavigationService.Region.Context is SharedData)
{
SharedData data = (SharedData)navigationContext.NavigationService.Region.Context;
...
}
}
}
пс. пометьте это как ответ, если это поможет.