wpf 当传递对象到新窗口时,对象引用未设置为对象的示例[重复]

sg3maiej  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(133)

此问题已在此处有答案

What is a NullReferenceException, and how do I fix it?(26个回答)
WPF NullReferenceException when XAML element is referenced in code(3个答案)
2个月前关闭。
我有一个子窗口,它应该在初始化时得到一个字符串。主窗口有这样的代码:

CountryView cv = new CountryView(item.Country);
 cv.Show();

item。Country为字符串。而子窗口具有:

public partial class CountryView : Window
{
    public CountryView(string thisCountry)
    {
        lblCountryName.Content = $"{thisCountry}";
        InitializeComponent();
    }
}

标签代码:

<Label x:Name="lblCountryName" Content="" VerticalAlignment="Center" HorizontalAlignment="Center"/>

它一直说对象引用没有设置为对象的示例。有人知道我做错了什么吗?

2ic8powd

2ic8powd1#

NullReferenceException发生在您尝试访问当前为null的对象的成员时。在您的情况下,发生此错误是因为您试图在调用InitializeComponent()方法之前访问lblCountryName,该方法将删除XAML中的元素并将值赋给代码隐藏类中自动生成的字段。
你应该这样写:

public partial class CountryView : Window
{
    public CountryView(string thisCountry)
    {
        InitializeComponent(); // Initialize the window components first
        lblCountryName.Content = thisCountry; // Set the content after initialization
    }
}

相关问题