使用手机上的后退按钮导航时,如何刷新ViewModel?
我正在使用手机上的后退按钮,但我认为它与调用NavigationService.GoBack()相同,后者导航到堆栈上的上一页,但构造函数未在我的View或ViewModel中调用。
答案 0 :(得分:6)
您可以在OnNavigatingTo事件中挂接基类Page,并在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();
}
}