私はこの問題を自分で解決するのに失敗して数日を過ごしました。そのため、xamlとコードビハインドについて非常に基本的なことを理解していないと思います。WPFとc#を使用して、ObservableCollectionのデータをListViewに表示しようとしています。
デバッグを開始すると、ウィンドウにグリッドとヘッダーを含むリストビューが表示されます。そこにあるはずのアイテムの数に相当するクリック可能な行がありますが、アイテムは空白または空で表示されます。私はこれを介して私の方法を学ぶために不完全なチュートリアルに取り組んでいました、コードは次のとおりです:
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
NameList.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"));
}
}
PersonName.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}"
実際のバインディングのみをリストしました。レイアウト情報がそれほど重要であるとは思いませんでしたが、その仮定が間違っている場合はお知らせください。