MVVMでWindows Phone 8.1アプリケーションを開発しています。ページから戻るボタン経由でナビゲートするとアプリケーションがクラッシュする
私は以下のようにナビゲーションサービスが含まれているベースビューモデルのクラスがあります。
public abstract class BaseViewModel : INotifyPropertyChanged
{
protected readonly INavigationService NavigationService;
//....
}
を自分のナビゲーションサービスのクラスがあります:
public class NavigationService : INavigationService
{
public void Navigate(Type destinationPage)
{
((Frame)Window.Current.Content).Navigate(destinationPage);
}
public void Navigate(Type desitnationPage, object parameter)
{
((Frame)Window.Current.Content).Navigate(desitnationPage, parameter);
}
public void GoBack()
{
((Frame)Window.Current.Content).GoBack();
}
}
私はXAMLからコマンドを結合していたときにすべてが正常に動作しています。 BackButton
を無効にしたいときに問題があります。私もNavigationService
を含むベースページモデルを作成しました。各ページには、以下のようにoverridde PF BackPressed
があります
public class BasePage : Page
{
protected INavigationService NavigationService => ComponentManager.GetInstance<INavigationService>();
public BasePage()
{
//...
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
protected virtual void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
//Frame.Navigate(typeof(MainPage));
(this.DataContext as BaseViewModel)?.Back.Execute(sender);
}
}
あなたは、私は方法の中でそれを作ることを試みましたが、どれもが働きませんHardwareButtons_BackPressed
方法で見たよう。たびに私は何のエラーもなくボタンアプリケーションのクラッシュを押す。
はhttp://stackoverflow.com/questionsを見てください/ 24335925/windows-phone-8-1-universal-app-terminates-on-navigate-back-from-second-page – Bugs