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 中直接执行此操作。你可以看到一个