[英]WPF Binding IEnumerable to ListBox with a DataTemplate
我正在嘗試將IEnumerable類UserList綁定到XAML中的ListBox,但是我無法解析該對象的名稱。 我的xaml代碼如下:
<ListBox DockPanel.Dock="Left" x:Name="UserListBox" Width="400"
ItemsSource="{Binding Source={StaticResource userList}}"
ItemTemplate="{StaticResource UserListTemplate}">
</ListBox>
我也在MainWindow.xaml.cs中實例化了userList,但是我想我做的事情不正確。 目的是讓ListBox從UserList中讀取並從該IEnumerable創建用戶列表。 我該如何解決?
public MainWindow()
{
InitializeComponent();
DataConnection.CreateAndOpenDB();
src.UserList userList = new src.UserList();
}
StaticResource擴展無法解析局部變量。
創建一個如下所示的UserList屬性,並將Window的DataContext設置為this
。 如果希望在設置DataContext之后能夠添加或刪除元素,則UserList類應實現INotifyCollectionChanged
接口。 它可以通過從ObservableCollection
派生來實現。
public src.UserList UserList { get; } = new src.UserList();
public MainWindow()
{
InitializeComponent();
DataConnection.CreateAndOpenDB();
// add elements to UserList here
DataContext = this;
}
然后像這樣在XAML中編寫Binding:
ItemsSource="{Binding UserList}"
有關簡介,請參見數據綁定概述 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.