【问题标题】:Where do the borders come from in this WPF listview这个 WPF 列表视图中的边框来自哪里
【发布时间】:2012-05-25 18:30:46
【问题描述】:

我正在尝试以某种方式使列表视图看起来像,并且我已经设法删除了大多数我不想要的 UI 元素,但我无法弄清楚所选项目周围的边框来自哪里。

示例中选择的是索引 0。如何删除该边框?

目前我是以下代码来删除背景和边框。

<ListView ItemsSource="{Binding Path=Items}" Name="MainListView">
            <ListView.ItemContainerStyle>
 <Style TargetType="ListViewItem">
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="Background" Value="{x:Null}" />
                            <Setter Property="BorderBrush" Value="{x:Null}" />
                            <Setter Property="BorderThickness" Value="0" />
                        </Trigger>

问题可能与当我将鼠标悬停在标签上时,我得到第二个灰色行,如下所示:

【问题讨论】:

    标签: wpf listview user-interface


    【解决方案1】:

    现在,您正在使用触发器来更改样式,但您没有显示 默认 样式。如果你希望默认没有边框,直接在样式上设置即可。

    【讨论】:

      【解决方案2】:

      覆盖 ListViewItem 的 Template 并重写它,排除创建不需要的效果的元素和触发器。您可以在 VS11 的 XAML 设计器或 Blend 中提取默认模板,也可以在 MSDN reference 中找到它们。我个人更喜欢完全重写它们,因为它允许我重构经常臃肿的 XAML 模板,而不是简单地通过将它们的默认值更改为 {x:Null} 来给人一种简单的错觉。视觉树中的混乱越少越好!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        • 2017-06-04
        • 2021-11-14
        • 1970-01-01
        相关资源
        最近更新 更多