WPF UserControl 在加载时抛出 NullReferenceException

WPF UserControl throws NullReferenceException when loading

我有一个包含主 WindowUserControl 的 WPF 项目。

Usercontrol 中,我使用 gridcontrol.ItemsSource = query.tolist() 设置了 GridControl.ItemsSource,但是在加载 Usercontrol 时它会抛出一个 Exception:

"The object reference not set to an object"

尽管查询返回了 40 行数据。

代码在 MainWindow 中执行,但 UserControl 抛出异常。

合并问题评论中的对话:

一个NullReferenceException被抛上线

gridcontrol.ItemsSource = query.ToList();

因为 gridcontrol 为空。

有关此 Exception 的更多信息,请参阅 What is a NullReferenceException, and how do I fix it?

我猜测有问题的行是在构造函数中调用 InitializeComponent() 之前。

此方法初始化 UserControl 中的所有控件。因此,如果在调用此方法之前尝试使用 Control,它将抛出 NullReferenceException.

你想看到的是:

public YourUserControl()
{
    InitializeComponent();
    gridcontrol.ItemsSource = query.ToList();
}