我不知道为什么我的viewmodel在调用One_Clicked时为null,我在viewmodel中缺少什么。当我发现未知标识符在DisplayLabel属性上时,我已经尝试过调试它。
这是我的ViewModel:
public class AboutViewModel : BaseViewModel
{
public AboutViewModel()
{
Title = "About";
}
string displayLabel = "0";
public string DisPlayLabel
{
get { return displayLabel; }
set { SetProperty(ref displayLabel, value); }
}
public void ButtonOne()
{
DisPlayLabel = "1";
}
}
以下是调用viewmodel的代码:
public partial class AboutPage : ContentPage
{
private AboutViewModel viewmodel;
void Clear_Clicked(object sender, EventArgs e)
{
}
void One_Clicked(object sender, EventArgs e)
{
if (viewmodel != null)
{
viewmodel.ButtonOne();
}
}
public AboutPage()
{
InitializeComponent();
}
}
答案 0 :(得分:1)
private AboutViewModel viewmodel;
这不会神奇地初始化。
您可以在.xaml.cs文件中执行此操作:
private AboutViewModel viewmodel = new AboutViewModel();
或者您通过DataTemplate
直接在xaml中执行此操作。您可以看到example here.