2016-04-22 1 views
1

GridView Cell/DataTemplateの1つのセルにデータのリスト(例:画像のリスト)を表示するチュートリアルや説明がありますか?GridViewCellでの画像のWPFリスト


リストビュー/ GridViewのためのソースデータは、このようなものです:あなたが見ることができるように

class Item 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 

    public string Mail { get; set; } 

    public List<ItemImages> Images { get; set; } 
} 

class ItemImages 
{ 
    public string Name { get; set; } 
} 

、セル内に表示されなければならないメンバーの一人は、リストそのものです。画像、文字列などのリストであれば問題ありません。

Im 'セルのリストをどのように表示するかについての出発点を探しています。

答えて

1

これは本当に簡単です。 ComboBoxなどのアイテムコントロールに入力する必要があります。私は例を示しましょう:

XAML:

<ListView Margin="10" Name="listView"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" /> 
      <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" /> 
      <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" /> 
      <GridViewColumn Header="Images"> 
       <GridViewColumn.CellTemplate> 
       <DataTemplate> 
        <ComboBox ItemsSource="{Binding Images}" DisplayMemberPath="Name"/> 
       </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 

コードの背後にある:

public partial class FooBarSample : Window 
{ 
    public FooBarSample() 
    { 
     InitializeComponent(); 
     PopulateCollection() 
    } 
} 

private void PopulateCollection() 
{ 
    ObservableCollection<Item> items = new ObservableCollection<Item>(); 
    items.Add(new Item() { Name = "Jack London", Age = 42, Mail = "[email protected]", Images = new List<ItemImages>() 
    { 
     new ItemImages() {Name="1" }, new ItemImages() {Name="2" }, new ItemImages() {Name="3" }, 
    } }); 
    listView.ItemsSource = items; 

}