【问题标题】:UWP NavigationView Remove Transition AnimationUWP NavigationView 移除转场动画
【发布时间】:2018-04-24 23:22:19
【问题描述】:

所以我正在使用秋季创作者更新NavigationView UI 元素。

当此元素具有navView.DisplayMode = NavigationViewDisplayMode.Compact 时,当您按下汉堡按钮时,窗格会展开/收缩的简短动画。

我想禁用此动画,以便窗格立即打开/关闭。 有没有办法做到这一点?

【问题讨论】:

  • 我假设您可以通过 Template 覆盖它。我在 blend 中打开它,尝试编辑模板,虽然它很多,但我没有看到任何 Storyboard 部分。这可能是硬编码的,这在工程师方面是错误的。我正在深入研究Template,看看我是否遗漏了什么。
  • 好吧,看起来您将不得不编写一个类似的自定义控件才能删除动画。我不是 100%,但我做了一个从 NavigationView 继承的新自定义控件,但没有运气,我尝试修改 TemplateHeaderTemplate 也没有运气。我没有看到对该动画的任何顶级控制......它应该在Template 但它不是。无论如何,如果你找到答案,祝你好运并发布。
  • @MichaelPuckettII 是的,这与我得出的结论相同。不过感谢您的努力!
  • 我测试了官方app,没有看到动画效果。你得到了什么样的动画效果?比如 refresh 、 Drill 或者 entry?

标签: xaml user-interface uwp uwp-xaml


【解决方案1】:

NavigationView使用SplitView,动画由SplitView实现。 将<Style TargetType="SplitView"> 复制到您的app.xaml 或页面,然后全部替换 KeyTime="0:0:a.b" 到 KeyTime="0:0:0"

                                <VisualStateGroup.Transitions>
                                <VisualTransition From="Closed" To="OpenOverlayLeft">

                                    <Storyboard>
                                       ...
                                            <SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" Value="0" />
                                        </DoubleAnimationUsingKeyFrames>

和上面的KeyTime="0:0:0.35"一样,改成“0:0:0.00”

<SplineDoubleKeyFrame KeyTime="0:0:0.00" KeySpline="0.1,0.9 0.2,1.0" Value="0" />

【讨论】:

    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2015-07-18
    相关资源
    最近更新 更多