无法将标签的内容设置为零

时间:2016-03-31 21:22:24

标签: c# wpf label

我正在尝试逐步完成几个if语句,但我将标签的内容设置为0时遇到了问题;

private void UnderRunBumper()
{
    lblGVMAmount.Content = 0; //Issue here
    if (Convert.ToInt32(txtExternalLength.Text) >= 6000)
        lblUnderRunBumper.Content = "Under-Run Bumper";

    else if (Convert.ToInt32(lblGVMAmount.Content.ToString()) >= 8000)
        lblUnderRunBumper.Content = "Under-Run Bumper";

    else if (cmbBodyType.SelectedIndex == 6 || cmbBodyType.SelectedIndex == 7 || cmbBodyType.SelectedIndex == 8 || cmbBodyType.SelectedIndex == 9 || cmbBodyType.SelectedIndex == 10)
        lblUnderRunBumper.Content = "Under-Run Bumper";
    else lblUnderRunBumper.Content = "";
}

我收到错误:

  

对象引用未设置为对象的实例。

我不明白。为什么我不能将标签的值设置为0?

1 个答案:

答案 0 :(得分:1)

在WPF应用程序(或winforms)中,UserControl或Window使用名为InitializeComponent的调用构建自身,该调用会自动添加到后面代码中的构造函数中。

此调用初始化您的视图,并在其上实例化对象。在此方法完成之前,请勿尝试触摸UI控件。

E.g。

public partial class MyView : UserControl
{
    public MyView()
    {
        var x = myButton; //<Button Name="myButton" /> in xaml
                          // x is null

        InitializeComponent();

        x = myButton;  //x is valid

    }
}