从自定义WPF ListView中删除选择突出显示

时间:2017-10-19 08:55:24

标签: wpf vb.net listview highlight

我有一个table text项目的自定义text。 我想删除或更改视觉效果以供选择。

到目前为止,我尝试将自定义ListView添加到我的ItemTemplate

ItemContainerStyle

在资源下,定义样式如下:

ListView

不幸的是,这不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:1)

尝试覆盖系统颜色的这种方法在Windows 8及更高版本上不起作用。 您需要修改ListViewItem容器的ControlTemplate。

请参阅:ListView Selected Item Style Override

一个例子:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListBoxItem}">
                        <Border x:Name="RootBorder">
                            <ContentPresenter/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="RootBorder" Property="BorderBrush" Value="Red"/>
                                <Setter TargetName="RootBorder" Property="BorderThickness" Value="1"/>
                            </Trigger>
                            <!--<Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="RootBorder" Property="Background" Value="LightBlue"/>
                            </Trigger>-->
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListView.ItemContainerStyle>
    <ListViewItem>123</ListViewItem>
    <ListViewItem>456</ListViewItem>
    <ListViewItem>789</ListViewItem>
</ListView>