WPF Border IsMouseOver触发器无法正常工作

Jas*_*ska 9 wpf xaml

我在app.xaml中定义了这种样式:

    <Style x:Key="RedCloseButton" TargetType="Border">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Border.Background" Value="Yellow" />
                </Trigger>
                <Trigger Property="IsMouseOver" Value="False">
                    <Setter Property="Border.Background" Value="Black" />
                </Trigger>
            </Style.Triggers>
    </Style>
Run Code Online (Sandbox Code Playgroud)

而我正试图在另一个xaml -file中使用它,如下所示:

    <Border Style="{StaticResource RedCloseButton}" Name="ClearValue" BorderThickness="2" BorderBrush="black" CornerRadius="0,4,4,0" Margin="110,90,0,80" Background="#FF801F1F">                
            <Rectangle Margin="10,11,6,10" Fill="White" RadiusX="2" RadiusY="2" IsHitTestVisible="False"></Rectangle>
    </Border>
Run Code Online (Sandbox Code Playgroud)

但当我将鼠标移到边境时没有任何反应......这里可能有什么问题?

sa_*_*213 16

因为你已经设置Background了Border,这将覆盖Style

你将需要删除Background="#FF801F1F"从Border xaml这样Style可以设置Background

<Border Style="{StaticResource RedCloseButton}" Name="ClearValue" BorderThickness="2" BorderBrush="black" CornerRadius="0,4,4,0" Margin="110,90,0,80">                
        <Rectangle Margin="10,11,6,10" Fill="White" RadiusX="2" RadiusY="2" IsHitTestVisible="False"></Rectangle>
</Border>       
Run Code Online (Sandbox Code Playgroud)