C# 如何实现事件触发的WPF控件样式更改

C# 如何实现事件触发的WPF控件样式更改,c#,wpf,button,styles,C#,Wpf,Button,Styles,我的按钮控件有一个样式模板,如下所示: <Style x:Key="myBtnStyle" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border x:Name="

我的按钮控件有一个样式模板,如下所示:

<Style x:Key="myBtnStyle" TargetType="{x:Type Button}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Border x:Name="border" Width="100" Height="25"
                        Padding="5,5,5,5" CornerRadius="5,5,5,5"
                        Background="LightGray" BorderBrush="Black" 
                        BorderThickness="1,1,1,1">
                    <ContentPresenter 
                        x:Name="cpButton" 
                        VerticalAlignment="Center"
                        HorizontalAlignment="Center"
                        Width="Auto"  Height="Auto" Margin="-6">
                    </ContentPresenter>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled"  Value="false">
                        <Setter Property="Background" TargetName="border" Value="GhostWhite"></Setter>
                        <Setter Property="BorderBrush" TargetName="border" Value="Gainsboro"></Setter>
                        <Setter Property="Foreground" Value="Gray"></Setter>
                    </Trigger>
                    <Trigger Property="IsPressed" Value="true">
                        <Setter Property="Background" TargetName="border" Value="SkyBlue"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
通过调用此方法,可以刷新控件。 如果给定了启用按钮的条件,我只需在我的一个属性中调用它


提前谢谢

再创建一个触发器,并设置IsEnabled=true的样式:


我已经试过了。它也不会改变样式。请您将代码发送给我,以便我可以为您提供解决方案。
<Button Name="btnResetCount" Content="Reset" Command="{Binding Path=CalcViewModel.ResetCounter}" Style="{StaticResource myBtnStyle}" IsEnabled="{Binding IsButtonCounterEnabled,Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
CommandManager.InvalidateRequerySuggested();
<Trigger Property="IsEnabled"  Value="true">
    <Setter Property="Background" TargetName="border" Value="Black"/>
    <Setter Property="BorderBrush" TargetName="border" Value="Black"/>
    <Setter Property="Foreground" Value="Gray"/>
</Trigger>