我试图让listview以某种方式显示,并且我设法删除了大多数我不想要的UI元素,但我无法弄清楚所选项目的边界来自哪里。
它是在示例中选择的索引0。如何删除该边框?
目前我是以下代码,用于删除背景和borderbrush。
<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>
问题可能与我在鼠标悬停在标签上时的问题有关,我会得到第二个灰色行:
答案 0 :(得分:0)
目前,您正在使用触发器来更改样式,但您没有显示默认样式。如果您希望默认情况下没有边框,只需直接在样式上设置它。
答案 1 :(得分:0)
覆盖ListViewItem的Template
并重写它,不包括产生不需要的效果的元素和触发器。您可以在VS11的XAML Designer或Blend中提取默认模板,也可以在MSDN reference中找到它们。我个人更喜欢完全重写它们,因为它允许我重构经常出现的XAML模板,而不是简单地通过将其默认值更改为{x:Null}
来给出简单的假象。视觉树中的杂乱越少越好!