将观察者集合分配给列表框时出错



我有列表框,我想向其添加项目,当我尝试使用以下代码时出现错误

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

错误是当我做项目源 = _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;
}

相关内容

  • 没有找到相关文章

最新更新