【问题标题】:UWP Animated Hamburger IconUWP 动画汉堡包图标
【发布时间】:2016-02-13 09:02:00
【问题描述】:

我想在 c# UWP XAML 项目中为我的SplitView 添加一个引人注目的动画汉堡图标。

我知道有大量的 CSS 动画图标(如 herehere [2,2] 中的那个)可以找到,但很少有用于 XAML 的。还有一个人,他确实将一些 CSS 移植到 XAML 动画 here

我喜欢这个开发人员在 Windows Phone 应用程序中所做的非常好的动画:Link to Store

他是怎么做到的?我该怎么做?是否“只是”过度使用了Storyboard?或者还有其他技巧吗?因为它是一个面向 Win8 的 App(不是 Win10),所以我不认为它是由 GIF 动画完成的。

【问题讨论】:

    标签: c# xaml animation win-universal-app hamburger-menu


    【解决方案1】:

    假设您在顶部有一个按钮,可以打开和关闭您的 SplitView。现在将该按钮更改为 ToggleButton。在 ToggleButton 和 SplitView 上创建所需的事件处理程序,以便切换始终具有正确的值。窗格打开时为“选中”,窗格关闭时为“未选中”。

    现在

    1. 在 Blend 中打开您的页面
    2. 右键单击切换按钮编辑模板 -> 编辑副本
    3. 更改为状态(在进行下一步之前最好将所有状态更改为您喜欢的状态,然后创建转换)
    4. 找到正常并单击 ->+ 添加转换并选择正常 -> 选中
    5. 在对象和时间线上选择 ContentPresenter
    6. 将黄线移至 0.500
    7. 在属性中转到变换,然后选择旋转并将角度设置为 270(确保选择了 ContentPresenter)
    8. 返回对象和时间线 单击播放以检查动画。现在您可以随意播放和创建自己的动画(旋转部分只是一个示例)
    9. 构建项目并现场试用!

    我相信你从现在开始得到这个,从 Checked -> Normal 创建,你就会得到你想要的。

    【讨论】:

    • 我看过了。这听起来很有希望。但是<VisualTransition From="Pressed" GeneratedDuration="0:0:0.5" To="Checked"> 永远不会触发,但是例如PointerOver 可以。我哪里做错了?
    • 我知道你的意思我也有同样的问题。我想做和你一模一样的事。我尝试只使用 * trans 并且它有效,但它也在 PointerOver 上触发。当我在寻找解决方案时,有人说了一些关于做两个 VisualStateGroups 的事情。一个用于 CommonStates,一个用于 Checkstates。我会尝试并编辑我的答案,但出现了一些问题,我不在城里。
    • 谢谢,我会尝试与VisualStateGroups 核对并发布并回答,当(如果)我找到一个。
    【解决方案2】:

    好的,在考虑了@Stamos cmets 的答案后,我发现了这个link,它实现了CurrentStateChanged 事件。有人here 展示了一种实现CheckedUnchecked 状态的方法。

    但最终答案,我在telerik forum 中找到,其中一些真正的英雄 有很多空闲时间。正是我想要的。

    【讨论】:

      【解决方案3】:

      我已经使用在 XAML 和 Blend 中制作的一堆 twicks 成功地实现了这种类型的动画。您可以查看here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多