基本ListView样式

时间:2013-01-20 16:35:50

标签: c# .net xaml

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

有人可以推荐任何易于学习的关于如何在XAML中设置ListView控件样式的教程或文档吗? (没有Expression Blend)

2 个答案:

答案 0 :(得分:1)

查看这两部分“WPF ListView样式教程”文章:http://blog.vascooliveira.com/wpf-listview-styling-tutorial-part-i/

注意:在我的计算机上,XML(XAML)代码无法正确显示,<和>标志显示为“& lt”和“& gt”。

答案 1 :(得分:1)

设计ListView样式的两个主要常用技巧是设置项目样式并更改列表框用于放置项目的容器类型。

样式项目
这基本上意味着将xaml中的ItemTemplate设置为知道如何通过绑定来发送列表框ItemsSource内容的东西。

例如,如果您将ObservableCollection<Customer>绑定到列表框,其中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。