基本的ListView样式

本文关键字:样式 ListView | 更新日期: 2023-09-27 17:54:32

我已经阅读了文档并尝试了许多示例,但说实话,示例看起来像一个大混乱的混乱,似乎没有多大意义。

谁能推荐任何易于遵循的教程或文档如何样式的ListView控件在XAML?(无Expression Blend)

基本的ListView样式

给ListView设计样式的两个常用技巧是:给项目设计样式,以及改变listbox用来布局项目的容器类型。

为Item设置样式
这基本上意味着将xaml中的ItemTemplate设置为知道如何显示列表框ItemsSource的内容的东西,通常使用绑定。

例如,如果您将ObservableCollection<Customer>绑定到列表框中,其中客户定义为:

public class Order
{
    public int Id { get; set; }
    public string OrderReference { get; set; }
    public string CustomerName { get; set; }
}

那么你可以用数据模板给这些项设置样式,如下所示:

<ListBox>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding CustomerName}" />
                <TextBlock Text="{Binding OrderReference}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

一个基本的例子,但是你明白了。

更改项的布局
从本质上讲,您可能不希望项目垂直列出的默认行为,因此您可以使用ItemsPanel属性将列表框内使用的容器控件更改为更合适的内容。如果,例如,你有一个项目模板,看起来像一个项目从"大图标"视图在Windows资源管理器,那么你可能希望列表框使用WrapPanel而不是StackPanel(我很确定它是StackPanel):

<ListBox>
    <ListBox.ItemsPanel>
        <DataTemplate>
            <WrapPanel>
                <ContentPresenter />
            </WrapPanel>
        </DataTemplate>
    </ListBox.ItemsPanel>
</ListBox>

又是一个基本的例子

我把所有这些代码从内存中写入StackOverflow,所以如果有一些拼写错误或记错了位,请道歉。

HTH .

查看这篇由两部分组成的"WPF ListView样式教程"文章:http://blog.vascooliveira.com/wpf-listview-styling-tutorial-part-i/

注意:在我的计算机上,XML (XAML)代码不能正确显示,<</p>