我正在做一个 WP8 应用程序(C#/XAML)。
在我看来,当虚拟机未完全加载时,我指定了一个按钮,该按钮是通过与回调绑定来设置的,用于启动应用程序。
MVVM 看起来像:
ViewModel
---------
+ Model
-----
+Property
并且是App.xaml.cs
这样创建的:
public static MainViewModel ViewModel
{
get
{
if (viewModel == null)
{
viewModel = new MainViewModel();
}
return viewModel;
}
}
并将页面设置为页面构造器中的数据上下文:
DataContext = App.ViewModel;
和按钮:
<Button x:Name="btn" Content="{Binding Model.Property, FallBackValue='click to load'}" .../>
一开始,
btn
它的内容没有值,因为模型是空的。单击时
btn
,它会加载模型。它用数据填充模型并导航到显示该数据的另一个页面。当我向后导航(通过硬件后退按钮)时,我想
btn
使用绑定中的值而不是后备,因为该值已经设置。但它不使用它,仍然使用绑定的 FallbackValue 参数提供的那个。
如何确保页面“刷新”并使用 ViewModel 提供的实际值?