0

我在堆栈面板中有一个按钮

<StackPanel>

    <Button x:Name="CreateBtn" Content="Create" Style="{StaticResource PopUpButton}"  Width="120" HorizontalAlignment="Right" Margin="0 60 30 0" Command="{Binding SaveCardTypeCommand}" />

</StackPanel>

在文件中使用样式

<Style x:Key="PopUpButton" TargetType="Button">
    <Setter Property="Foreground" Value="#1172b7"/>
    <Setter Property="BorderBrush" Value="#1172b7"/>
    <Setter Property="BorderThickness" Value="3"/>
</Style>

当按钮被禁用时,我需要将内容和边框笔刷的颜色更改为红色

我怎样才能做到这一点?

最好的祝福

4

1 回答 1

1

使用表达式混合编辑按钮的默认模板并自定义视觉状态。您可以为每个视觉状态定义动画。

 <VisualState x:Name="Disabled">
    <Storyboard>
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="Border">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <SolidColorBrush Color="Red"/>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <SolidColorBrush Color="Red"/>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>

在此处输入图像描述

于 2013-05-29T12:42:08.140 回答