2

我正在尝试使列表视图看起来以某种方式,并且我已经设法删除了大多数我不想要的 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>

问题可能与当我将鼠标悬停在标签上时我得到第二个灰色行有关:在此处输入图像描述

4

2 回答 2

0

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

于 2012-05-25T18:34:52.337 回答
0

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

于 2012-05-25T19:09:22.513 回答