【问题标题】:Button press animation in WPF without the ButtonChrome?没有ButtonChrome的WPF中的按钮按下动画?
【发布时间】:2012-04-24 20:50:11
【问题描述】:

我的 WPF 应用程序内部发生了奇怪的交互。我已经设计了所有按钮的样式,使它们具有深蓝色背景和白色字母。它们看起来很棒,直到您单击它们并获得焦点。在那之后,字面上的眨眼,背景颜色逐渐褪色为我选择的乳白色。这会分散用户的注意力,必须放弃。

我们假设 ButtonChrome 负责这个奇怪的动画。因此,我想更改按钮的模板,以便在按钮获得焦点时使用带有背景颜色的矩形和围绕文本的虚线。但我仍然想让按钮看起来像是在单击时被压入应用程序。

如何在没有 ButtonChrome 的情况下有效地制作这种动画?

托尼

【问题讨论】:

    标签: wpf animation button


    【解决方案1】:

    使用 VisualStateManager 并为 Focussed 和/或 IsPressed 状态添加动画

    【讨论】:

    • 是的,谢谢,我很感激指针。但我想我已经知道了。我正在寻找更多“用这个(这些)颜色绘制这个元素,然后绘制那个元素”。更多的是实际绘制的细节,而不是使用 VisualStateManager 的一般性。
    【解决方案2】:

    事实证明,如果您希望您的按钮正确动画,您需要一个 ButtonChrome。事实证明,解决方案是创建您自己的 ButtonChrome 类并以您的风格使用它。请注意,我不想删除所有动画,只是当控件是默认按钮或具有焦点时出现的动画。

    我能够在 StackOverflow 上的另一篇文章中找到 Aero Theme ButtonChrome 的来源,该文章处理了类似的问题。我现在没有方便的 URL。当我找到它时,我会用那个 URL 更新这个答案。

    无论如何,我删除了有问题的动画,现在我的按钮没有不良效果了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-25
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      相关资源
      最近更新 更多