在 uwp 中使用 VisualStateManager 更改按钮前景

Changing Button Foreground using VisualStateManager in uwp

我尝试使用视觉状态管理器更改按钮前景色,但根本不起作用。

   <Button x:Name="Close" HorizontalAlignment="Stretch" 
                                            Width="100" Background="#FF4F4F4F" 
                                            Height="50" BorderThickness="2" BorderBrush="#FF2F2F2F"
                                            Content="Cancel">
                                        <VisualStateManager.VisualStateGroups>
                                            <VisualStateGroup x:Name="CommonStates">
                                                <VisualState x:Name="PointerOver">
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Close"
                                                                   Storyboard.TargetProperty="Foreground">
                                                            <DiscreteObjectKeyFrame KeyTime="0" Value="#FFFFFFFF" />
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                                <VisualState x:Name="Pressed">
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Close"
                                                                   Storyboard.TargetProperty="Foreground">
                                                            <DiscreteObjectKeyFrame KeyTime="0" Value="#FFFFFFFF" />
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                            </VisualStateGroup>
                                        </VisualStateManager.VisualStateGroups>
                                    </Button>

请帮我解决这个问题。

提前致谢。

它不起作用,因为您试图为画笔类型设置颜色值。

请使用您需要的颜色创建一个 Brush StaticResource。并在动画中设置资源。

<SolidColorBrush x:Key="TextBoxErrorThemeBrush" Color="Red" />

<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PART_TextBlock">
     <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource TextBoxErrorThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>

此致,

杰西