【问题标题】:Change button style with VisualStateManager使用 VisualStateManager 更改按钮样式
【发布时间】:2015-11-03 07:39:42
【问题描述】:

我正在开发通用 Windows 应用程序。

我想在不同状态下更改按钮的样式,但我不知道(我是新手)

这是我的视觉状态组

<VisualStateGroup x:Name="StartStopTimer">
    <VisualState x:Name="Start">
    </VisualState>
    <VisualState x:Name="Stop">
        <VisualState.Setters>
        </VisualState.Setters>
    </VisualState>
</VisualStateGroup>

我有两种样式设置,称为 StartButtonStyleStopButtonStyle

所以我想在Stop 视觉状态下将按钮样式更改为StopButonStyle,在Start 视觉状态下将StartButtonStyle

我该怎么做?我尝试在 Expression Blend 中使用记录,但它对我的视觉状态没有任何作用。

【问题讨论】:

    标签: xaml windows-runtime uwp blend


    【解决方案1】:

    你在这里:

    <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="StartStopTimer">
                <VisualState x:Name="Start">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestButton"
                                                       Storyboard.TargetProperty="Style">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource StartButtonStyle}">
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Stop">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestButton"
                                                       Storyboard.TargetProperty="Style">
                            <DiscreteObjectKeyFrame KeyTime="0"
                                                    Value="{StaticResource StopButtonStyle}">
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
    

    当然,您需要在资源中定义您的样式,例如在页面资源中。

    请不要忘记将我的回复标记为答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      • 2014-12-04
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多