覆盖ListBoxItem默认的OnMouseOver背景样式效果

时间:2018-03-02 16:58:12

标签: c# .net wpf

我遇到了很多关于如何做到这一点的不同例子,但似乎没有一个对我有用。我有一个ListBox,它有一个项目列表。每次将鼠标悬停在列表中的某个项目上时,都会有一个透明背景和项目周围的边框。我想摆脱这个。这就是我的尝试;

<Style TargetType="ListBoxItem">
    <EventSetter Event="MouseDown" Handler="SitesListBox_MouseDown"/>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Foreground" Value="White"></Setter>
            <Setter Property="BorderBrush" Value="Transparent"></Setter>
            <Setter Property="Background" Value="Transparent"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>

文本颜色变化正常,但背景和边框不受影响

1 个答案:

答案 0 :(得分:0)

不确定这是否是您想要的,但它似乎具有预期的效果

<Style TargetType="ListBoxItem">
    <EventSetter Event="MouseDown" Handler="SitesListBox_MouseDown"/>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Foreground" Value="White"></Setter>
            <Setter Property="Opacity" Value="0"/>
        </Trigger>
    </Style.Triggers>
</Style>
相关问题