我正在尝试逐步完成几个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?
答案 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
}
}