我花了好几天没有自己解决这个问题,这让我相信我不了解有关 xaml 和代码隐藏的一些非常基本的东西。我正在尝试使用 WPF 和 c# 在 ListView 中显示来自 ObservableCollection 的数据。
当我开始调试时,窗口会显示带有网格和标题的列表视图。有与应存在的项目数相等的可点击行,但这些项目显示为空白或空。我正在编写一个不完整的教程来尝试学习我的方法,代码如下:
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
名称列表.cs:
class NameList : ObservableCollection<PersonName>
{
public NameList()
: base()
{
Add(new PersonName("Willa", "Cather")); //enumerated? (firstName, lastName)
Add(new PersonName("Isak", "Dinesen"));
Add(new PersonName("Victor", "Hugo"));
Add(new PersonName("Jules", "Verne"));
}
}
人名.cs:
class PersonName
{
private string firstname;
private string lastname;
public PersonName(string first, string last)
{
this.firstname = first;
this.lastname = last;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
我会包括 xaml,但我还没有想出如何在此处的问题中做到这一点,所以我会尽我所能把它拼出来:
ListView ItemsSource=""{Binding Source={StaticResource NameListData}}"
GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}"
GridViewColumn DisplayMemberBinding="{Binding Path=LastName}"
我只列出了实际的绑定,我不认为布局信息太重要,但如果我的假设有误,请告诉我。