ViewModel 中的 c# 空引用
c# null reference in ViewModel
我不知道为什么调用 One_Clicked 时我的视图模型为空,我在视图模型中缺少什么。当发现未知标识符在 DisplayLabel 属性.
上时,我尝试调试它
这是我的视图模型:
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();
}
}
使用前需要先创建一个viewmodel实例,如下所示。
private AboutViewModel viewmodel = new AboutViewModel();
private AboutViewModel viewmodel;
这不会神奇地自行初始化。
要么在 .xaml.cs 文件中执行:
private AboutViewModel viewmodel = new AboutViewModel();
或者您通过 DataTemplate
在 xaml 中直接执行此操作。你可以看到一个
我不知道为什么调用 One_Clicked 时我的视图模型为空,我在视图模型中缺少什么。当发现未知标识符在 DisplayLabel 属性.
上时,我尝试调试它这是我的视图模型:
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();
}
}
使用前需要先创建一个viewmodel实例,如下所示。
private AboutViewModel viewmodel = new AboutViewModel();
private AboutViewModel viewmodel;
这不会神奇地自行初始化。
要么在 .xaml.cs 文件中执行:
private AboutViewModel viewmodel = new AboutViewModel();
或者您通过 DataTemplate
在 xaml 中直接执行此操作。你可以看到一个