C# 自定义按钮边框样式不会在iPressed事件中更改

C# 自定义按钮边框样式不会在iPressed事件中更改,c#,wpf,xaml,events,triggers,C#,Wpf,Xaml,Events,Triggers,我试图在WPF中重新创建一个Valve VGUI界面样式。到目前为止,我能够为按钮指定边框,但按下按钮时边框样式不会改变 以下是我的XAML代码: <Window.Resources> <Style x:Key="BorderLight_Style" TargetType="Border"> <Setter Property="BorderBrush" Value="#889180" /> <Setter Pro

我试图在WPF中重新创建一个Valve VGUI界面样式。到目前为止,我能够为按钮指定边框,但按下按钮时边框样式不会改变

以下是我的XAML代码:

 <Window.Resources>
    <Style x:Key="BorderLight_Style" TargetType="Border">
        <Setter Property="BorderBrush" Value="#889180" />
        <Setter Property="BorderThickness" Value="1,1,0,0" />
    </Style>
    <Style x:Key="BorderShadow_Style" TargetType="Border">
        <Setter Property="BorderBrush" Value="#FF282E22" />
        <Setter Property="BorderThickness" Value="0,0,1,1" />
    </Style>
    <Style x:Key="BorderLight_Style_pressed" TargetType="Border">
        <Setter Property="BorderBrush" Value="#FF282E22" />
        <Setter Property="BorderThickness" Value="1,1,0,0" />
    </Style>
    <Style x:Key="BorderShadow_Style_pressed" TargetType="Border">
        <Setter Property="BorderBrush" Value="#889180" />
        <Setter Property="BorderThickness" Value="0,0,1,1" />
    </Style>
    <Style TargetType="Grid">
        <Setter Property="Background" Value="#FF4C5844" />
    </Style>
    <Style TargetType="Button">
        <Setter Property="Background" Value="#FF4C5844" />
        <Setter Property="Foreground" Value="#D8DED3" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border x:Name="border" Style="{StaticResource BorderShadow_Style}">
                        <Border x:Name="border2" Style="{StaticResource BorderLight_Style}" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter TargetName="border" Property="Style" Value="{StaticResource BorderShadow_Style_pressed}" />
                            <Setter TargetName="border2" Property="Style" Value="{StaticResource BorderLight_Style_pressed}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>


我有没有做错什么?谢谢

控件需要有一个定义的
背景
属性来参与命中测试,从而允许在
按钮
上设置
IsPressed
属性

将内部
边框的
Background
属性设置为任何有效值,例如
Transparent
,以修复
触发器


注意:如果您要按
选项卡
选择按钮并按空格键,您会看到您的
触发器
工作,即使您没有设置任何背景,因为
已按下