3

電話の戻るボタンを使用して戻るときに、ViewModelを更新するにはどうすればよいですか?

電話の戻るボタンを使用していますが、NavigationService.GoBack()を呼び出すのと同じだと思います。これは、スタックの前のページに移動しますが、コンストラクターはViewまたはViewModelで呼び出されません。

4

1 に答える 1

6

基本PageクラスのOnNavigatingToイベントをフックして、ViewModelのメソッドを呼び出すことができます。私はVSを持っていませんが、擬似コードは次のようになります。

MyBasePAgeの場合:ページ

public void OnNavigatingTo(object sender, eventargs e)
{
   var vm = this.DataContext as BaseViewModel;
   if(vm != null)
   {
      vm.Initialize();
   }
 }

ページを離れる前に同じことを行うことができます:

public void OnNavigatingFrom(object sender, eventargs e)
{
   var vm = this.DataContext as BaseViewModel;
   if(vm != null)
   {
      vm.Save();
   }
 }
于 2011-02-09T19:19:28.900 に答える