WPF通过DataTemplate绑定了listBox的绑定



我试图将iEnumerable类用户列表绑定到XAML中的列表框,但我无法解析对象的名称。我的XAML代码如下:

            <ListBox DockPanel.Dock="Left" x:Name="UserListBox" Width="400"
                     ItemsSource="{Binding Source={StaticResource userList}}"
                     ItemTemplate="{StaticResource UserListTemplate}">
            </ListBox>

我也有用户列表在mainwindow.xaml.cs中实例化,但我想我做的事情不是正确的。目的是让ListBox从UserList读取,并创建一个用户列表。我该如何解决?

public MainWindow()
    {
        InitializeComponent();
        DataConnection.CreateAndOpenDB();
        src.UserList userList = new src.UserList();

    }

无法通过staticresource扩展解决局部变量。

创建一个如下所示的UserList属性,并将窗口的数据座位设置为this。如果要在设置DataContext之后能够添加或删除元素,则类用户列表应实现INotifyCollectionChanged接口。它可以通过 ObservableCollection派生。

来做到这一点。
public src.UserList UserList { get; } = new src.UserList();
public MainWindow()
{
    InitializeComponent();
    DataConnection.CreateAndOpenDB();
    // add elements to UserList here
    DataContext = this;
}

然后在XAML中写入绑定:

ItemsSource="{Binding UserList}"

有关简介的数据绑定概述。

最新更新