電話の戻るボタンを使用して戻るときに、ViewModelを更新するにはどうすればよいですか?
電話の戻るボタンを使用していますが、NavigationService.GoBack()を呼び出すのと同じだと思います。これは、スタックの前のページに移動しますが、コンストラクターはViewまたはViewModelで呼び出されません。
電話の戻るボタンを使用して戻るときに、ViewModelを更新するにはどうすればよいですか?
電話の戻るボタンを使用していますが、NavigationService.GoBack()を呼び出すのと同じだと思います。これは、スタックの前のページに移動しますが、コンストラクターはViewまたはViewModelで呼び出されません。
基本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();
}
}