// 伝票を表すクラス
public class Slip
{
public DateTime Date { get; set; }
public int Kind { get; set; }
public int NoFlag { get; set; }
public long No { get; set; }
public string CustomerCode { get; set; }
public string CustomerName { get; set; }
}
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
// ListView に表示するデータを作成
Slip[] slips = new Slip[]{
new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=1,CustomerCode="0001", CustomerName="Microsoft"},
new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=2,CustomerCode="0002", CustomerName="Google"},
new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=3,CustomerCode="0003", CustomerName="Sun"},
new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=4,CustomerCode="0004", CustomerName="Adobe"},
new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=5,CustomerCode="0005", CustomerName="Yahoo!"}
};
// ListView にセットする
listView1.DataContext = slips;
}
}
<Window x:Class="ListViewSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="400" Width="500">
<Window.Resources>
</Window.Resources>
<Grid>
<ListView x:Name="listView1" ItemsSource="{Binding}">
<ListView.View>
<GridView>
<!--列を追加。-->
<!--DisplayMemberBinding を使って、列に表示する Slip クラスのプロパティを指定しています-->
<GridViewColumn Header="伝票日付" DisplayMemberBinding="{Binding Path=Date}"/>
<GridViewColumn Header="伝票種" DisplayMemberBinding="{Binding Path=Kind}"/>
<GridViewColumn Header="伝票番号" DisplayMemberBinding="{Binding Path=No}"/>
<GridViewColumn Header="得意先" DisplayMemberBinding="{Binding Path=CustomerName}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
<Window x:Class="ListViewSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="400" Width="500">
<Grid>
<ListView x:Name="listView1" ItemsSource="{Binding}">
<ListView.Resources>
<!--得意先列ヘッダ用テンプレート-->
<DataTemplate x:Key="customerHeaderTemplate">
<StackPanel>
<Label Content="得意先コード"/>
<Label Content="得意先名"/>
</StackPanel>
</DataTemplate>
<!--得意先セル用テンプレート-->
<DataTemplate x:Key="customerCellTemplate">
<StackPanel>
<Label Content="{Binding Path=CustomerCode}"/>
<Label Content="{Binding Path=CustomerName}"/>
</StackPanel>
</DataTemplate>
<!--伝票種列ヘッダ用テンプレート-->
<DataTemplate x:Key="kindHeaderTemplate">
<StackPanel>
<Label Content="伝票種"/>
<Label Content="伝票番号フラグ"/>
</StackPanel>
</DataTemplate>
<!--伝票種セル用テンプレート-->
<DataTemplate x:Key="kindCellTemplate">
<StackPanel>
<Label Content="{Binding Path=Kind}"/>
<Label Content="{Binding Path=NoFlag}"/>
</StackPanel>
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<!--列を追加。-->
<!--DisplayMemberBinding を使って、列に表示する Slip クラスのプロパティを指定しています-->
<GridViewColumn Header="伝票日付" DisplayMemberBinding="{Binding Path=Date}"/>
<!--伝票種列ヘッダ用のテンプレートと伝票種セル用のテンプレートを指定-->
<GridViewColumn HeaderTemplate="{StaticResource kindHeaderTemplate}" CellTemplate="{StaticResource kindCellTemplate}"/>
<GridViewColumn Header="伝票番号" DisplayMemberBinding="{Binding Path=No}"/>
<!--得意先列ヘッダ用のテンプレートと得意先セル用のテンプレートを指定-->
<GridViewColumn HeaderTemplate="{StaticResource customerHeaderTemplate}" CellTemplate="{StaticResource customerCellTemplate}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>