我有一个 C# 项目,Windows Phone 8 MVVM cross。
我有一个 ViewModel 和 View off course。在 ViewModel 中,我有一个从另一个 ViewModel 获取参数的 Init 方法。在视图中,我编写了一个 onNavigatoTo 和 NavigateFrom 事件(被覆盖)来保存和加载 ViewModel 状态。
但是,对于 OnNavigateTo 事件,Init 方法不会执行。有什么问题?
我有一个 C# 项目,Windows Phone 8 MVVM cross。
我有一个 ViewModel 和 View off course。在 ViewModel 中,我有一个从另一个 ViewModel 获取参数的 Init 方法。在视图中,我编写了一个 onNavigatoTo 和 NavigateFrom 事件(被覆盖)来保存和加载 ViewModel 状态。
但是,对于 OnNavigateTo 事件,Init 方法不会执行。有什么问题?
如果您希望 Init 方法起作用,请不要覆盖 NavigatedTo。而是创建一个加载的事件并执行以下操作:
#region Properties
public ViewModel ViewModel
{
get { return (ViewModel)ViewModel; }
set { base.ViewModel = value; }
}
#endregion
#region Constructor
public LoginView()
{
InitializeComponent();
Loaded += View_Loaded;
}
#endregion
#region Events
private void View_Loaded(object sender, RoutedEventArgs e)
{
ViewModel.SomeEventOrProperty //blah you get it
}
#endregion