我有列表框,我想向其添加项目,当我尝试使用以下代码时出现错误
对象引用未设置为对象的实例。
错误是当我做项目源 = _userList 时,
我在这里做错了什么?
public ObservableCollection<User> _UsersList = new ObservableCollection<User>();
public MainWindow()
{
_UsersList.Add(new User {Name = "Mike"});
_UsersList.Add(new User { Name = "Nick" });
listbox1.ItemsSource = _UsersList;
DataContext = this;
InitializeComponent();
}
试试这个。在使用 xaml 中定义的任何元素之前,必须调用初始化组件方法。
public MainWindow()
{
InitializeComponent();
_UsersList.Add(new User {Name = "Mike"});
_UsersList.Add(new User { Name = "Nick" });
listbox1.ItemsSource = _UsersList;
DataContext = this;
只有在调用 UI 元素后InitializeComponent
才应访问 UI 元素。
InitializeComponent() 实际上是对负责呈现 UI 元素的控件分部类的方法调用 供您控制。因此,如果您在此之前访问它,它将始终是 空,因为这些尚未初始化。
public MainWindow()
{
_UsersList.Add(new User {Name = "Mike"});
_UsersList.Add(new User { Name = "Nick" });
DataContext = this;
InitializeComponent();
listbox1.ItemsSource = _UsersList;
}