protected override async void OnNavigatedTo(NavigationEventArgs e){ var navigationParams = e.Parameter as NavigationParameters; var vm = navigationParams.ViewModel as ViewModels.Vehicle; vm.SubscribeToEventBus(); // in case vm is a listener await vm.Initialize(); // in case of some initialization DataContext = vm; // set the DataContext at the very end } protected override void OnNavigatedFrom(NavigationEventArgs e){ if (ViewModel != null){ ViewModel.UnsubscribeFromEventBus(); // release the reference } }