记录下每一个让我蛋疼的问题,说不定以后还会用得着。
关于wpf中listview的使用,
第一步:在xaml中使用listview,代码如下
<ListView x:Name="listView" Width="800" Height="450" Margin="97,163,103,87" ItemsSource="{Binding}" > <ListView.View> <GridView> <GridViewColumn Header="序列号" Width="120" /> <GridViewColumn Header="书名" Width="100"/> <GridViewColumn Header="类型" Width="80" /> <GridViewColumn Header="作者" Width="100" /> <GridViewColumn Header="出版社" Width="100" /> <GridViewColumn Header="价格" Width="60" /> <GridViewColumn Header="库存" Width="60" /> </GridView> </ListView.View> </ListView>然后界面大概是这个样子:
第二步:然后在.cs文件中加入如下代码(我的界面就叫SearchAndBuyWindow):
public SearchAndBuyWindow() { InitializeComponent(); initList(); } public void initList() { for (int i = 0; i < 10; i++) { //listBook.Add(new Book(0,123456, "testBook"+i, "Math", "qiaobus", "shanghai", "just a book", "none")); listView1.Items.Add(new Book(0, 123456, "testBook" + i, "Math", "qiaobus", "shanghai", "just a book", "none")); } //listView.DataContext = listBook; }加上之后,界面就不再空了,铛铛铛铛:不过显示的数据不是我们需要的,这时候要回到xaml再做一些修改。
第三步:返回xaml修改GridViewColunm的属性如下:
<ListView x:Name="listView1" Width="800" Height="450" Margin="97,199,103,51" ItemContainerStyle="{StaticResource ListViewItemStyle}"> <ListView.View> <GridView> <GridViewColumn Header="序列号" Width="120" DisplayMemberBinding="{Binding book_id}"/> <GridViewColumn Header="书名" Width="100" DisplayMemberBinding="{Binding book_name}"/> <GridViewColumn Header="类型" Width="80" DisplayMemberBinding="{Binding book_type}"/> <GridViewColumn Header="作者" Width="100" DisplayMemberBinding="{Binding book_author}"/> <GridViewColumn Header="出版社" Width="100" DisplayMemberBinding="{Binding publisher}"/> <GridViewColumn Header="价格" Width="60" DisplayMemberBinding="{Binding book_price}"/> <GridViewColumn Header="库存" Width="60" DisplayMemberBinding="{Binding book_status}"/> </GridView> </ListView.View> </ListView>增加了DisplayMemberBinding="{Binding book_name}"绑定某一项数据,而我的ItemContainerStyle="{StaticResource ListViewItemStyle}"是为了使每个单元格内文字居中,待会我会在后面贴出。
加上代码后的界面就完成了:
下面是使单元格内文字居中的Syle代码:
<Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}"> <Setter Property="HorizontalContentAlignment" Value="Center"></Setter> </Style>就是这么短一段,放在<Window.Resources></Window.Resources>标签内.
这是某位大神的博客,收藏一下:http://blog.csdn.net/tcjiaan/article/details/6949915