web-dev-qa-db-ja.com

ItemSsourceへのWPFリストビューのバインド?

次のリストビューがありますが、実際のレコードは表示されず、オブジェクトの名前空間のみが表示されます。レコードを表示し、オブジェクトのいくつかのプロパティにバインドするためにXAMLで列を作成する必要があるかどうか、またはこれの何が問題なのでしょうか?

<ListView
            Name="ListCustomers"
            ItemsSource="{Binding Path=ListOfCustomers}"
            SelectedItem="{Binding Path=SelectedCustomer}"
            SelectionMode="Single"
            IsSynchronizedWithCurrentItem="True"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            MinHeight="100"

            ></ListView>

ListOfCustomersObservableCollection<Customer>タイプ。実際の顧客はObservableCollectionにロードされますが、表示されません。何が欠けている?

18
Tony The Lion

表示する列も選択する必要があります。

<ListView ItemsSource="{Binding ListOfCustomers}"
          SelectedItem="{Binding Path=SelectedCustomer}"
          ....>
  <ListView.View>
    <GridView>
      <GridViewColumn Width="140" Header="First Name"
         DisplayMemberBinding="{Binding FirstName}"  />
      <GridViewColumn Width="140" Header="Last Name"  
         DisplayMemberBinding="{Binding LastName}" />
      <GridViewColumn Width="140" Header="Email Address"
         DisplayMemberBinding="{Binding Email}" />
      ....
    </GridView>
  </ListView.View>
</ListView>
40
ChrisF

また試すことができます

<ListView
.
.
ItemTemplate="{StaticResource CustomerDataTemplate}"
.
.
/>

customerDataTemplateは、CustomerクラスのDataTemplateです...

4
miensol

ListViewのDataContextプロパティを、ListOfCustomersプロパティ(表示するアイテムのリストを返す)を公開するインスタンスに設定していないためですか?

0
Gishu