ListView中的分隔符(WPF)?

7
我将在WPF中的ListView中插入分隔符,就像这样:
图片

我已经使用了以下XAML代码,但它不起作用!
<ListView ItemsSource="{Binding ListViewItemsCollections}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name" Width="200" DisplayMemberBinding="{Binding GridViewColumnName}"/>
            <GridViewColumn Header="Tags" Width="200" DisplayMemberBinding="{Binding GridViewColumnTags}"/>
            <GridViewColumn Header="Location" Width="400" DisplayMemberBinding="{Binding GridViewColumnLication}"/>
        </GridView>
    </ListView.View>
    <Separator />
</ListView>

你能帮我指导一下吗? 谢谢。

2个回答

6

Mohammad,

我认为插入一个分隔符(或模拟一个分隔符的控件)比你想象中要简单得多:)

首先,请看一下应该如何将 DataTemplate 应用于 ListBox/ListView。你可以在这里找到它。其次,你必须决定如何模拟一个分隔符。你可以在这里这里找到两个绝佳的示例。如果你完成了任务,请告诉我:)


谢谢我的朋友,我会看看它们的。 - Mohammad Dayyan
这完全不是问题 :) - Piotr Justyna
2
我仔细阅读了所有链接,但是我并不清楚如何将分隔符添加到我绑定了ItemsSource的ListView! - Mohammad Dayyan
你为什么想要将分隔符绑定到ItemSource?你确定你按照示例做了吗?如果你还没有解决方案,请发布你的代码或提供更多细节,这样我就可以帮你解决问题。 - Piotr Justyna

1

尝试将分隔符放在您要绑定的项目集合中。在上面的代码中,您通过itemsSource绑定设置了项目,然后通过向内容添加分隔符来设置项目。将分隔符添加到项目集合中,您将在网格中看到一个空行。您可能需要相应地设计分隔符的样式。(但它会给您一行无法单击的行)


在项目集合中,我只能放置字符串,而不能放置像分隔符这样的对象! - Mohammad Dayyan
那么你需要将集合类型设置为对象,或者将集合包装在另一个允许对象的集合中,或者使用复合集合(项和集合的集合),这样你就可以在分隔符之前拥有一组项,然后是你的分隔符,然后是你的下一个字符串集合。 - Aran Mulholland
2
我真的不认为这是必要的。分隔符属于表示层,而不是逻辑/模型层。 - Piotr Justyna
我想要一个解决方案。"分隔符属于表示层,而不是逻辑/模型层。" - 这正是我所思考的。我没有成功将业务对象作为分隔符进行模板化。 - Aran Mulholland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接