多列ListView:
<ListView x:Name="listView"> <ListView.View> <GridView> <GridViewColumn Header="序號" Width="50"/> <GridViewColumn Header="姓名" Width="90"/> <GridViewColumn Header="成績" Width="90"/> </GridView> </ListView.View> </ListView>
多列ListView填充數據:
一、使用DataTable填充
xml代碼:
<ListView x:Name="listView" ItemsSource="{Binding}"> <ListView.View> <GridView> <GridViewColumn Header="序號" Width="50" DisplayMemberBinding="{Binding Num}"/> <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="成績" Width="90" DisplayMemberBinding="{Binding Score}"/> </GridView> </ListView.View> </ListView>
cs代碼:
using System.Data;
DataTable dt = new DataTable(); dt.Columns.Add("Num"); dt.Columns.Add("Name"); dt.Columns.Add("Score"); dt.Rows.Add(0,"章魚",126); dt.Rows.Add(1,"胖虎",114); dt.Rows.Add(2,"暴君",128); listView.DataContext = dt;
效果:
二、使用匿名對象填充
xml代碼:
<ListView x:Name="listView"> <ListView.View> <GridView> <GridViewColumn Header="序號" Width="50" DisplayMemberBinding="{Binding Num}"/> <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="成績" Width="90" DisplayMemberBinding="{Binding Score}"/> </GridView> </ListView.View> </ListView>
cs代碼:
listView.Items.Add(new { Num = "1", Name = "A", Score = "10"}); listView.Items.Add(new { Num = "2", Name = "B", Score = "20" }); listView.Items.Add(new { Num = "3", Name = "C", Score = "30" });
效果:
三、使用實例對象(推薦)
xml代碼:
<ListView x:Name="listView"> <ListView.View> <GridView> <GridViewColumn Header="序號" Width="50" DisplayMemberBinding="{Binding Num}"/> <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="成績" Width="90" DisplayMemberBinding="{Binding Score}"/> </GridView> </ListView.View> </ListView>
cs代碼:
public MainWindow() { InitializeComponent(); listView.Items.Add(new StudentInfo(11, "小花", 22)); listView.Items.Add(new StudentInfo(12, "小草", 11)); listView.Items.Add(new StudentInfo(13, "小螞蟻", 12)); } class StudentInfo { public int Num { set; get; } public string Name { set; get; } public int Score { set; get; } public StudentInfo(int num,string name,int score) { this.Num = num; this.Name = name; this.Score = score; } }
效果: