【问题标题】:Remove background animation with XAML C#?使用 XAML C# 删除背景动画?
【发布时间】:2012-09-23 02:20:00
【问题描述】:

我正在创建一个带有后退按钮和徽标的标题。我想出了如何使用

添加背景
<Grid Grid.ColumnSpan="2" Background="Black">
[...]
</Grid>

但现在我最终将背景作为页面动画过渡的一部分。我想要的与 Microsoft Contoso News 演示应用程序“Animating your UI”页面上的标题背景完全一样。第一个视频显示了应用程序中的所有内容都是动画的,而标题是静态的。

我尝试了多次搜索并将我认为可行的代码放在一起,包括与&lt;EntranceThemeTransition FromHorizontalOffset="0" FromVerticalOffset="0"/&gt; 混淆。除非我遗漏了什么,否则我找不到有关删除动画的文档。

我们将不胜感激朝着正确方向迈出的一步。谢谢。

【问题讨论】:

  • 您是否尝试过在页面上设置背景?
  • 我该怎么做呢?我应该使用 Blend 吗?
  • 在页面中找到顶层元素并为其设置背景。
  • 我想出了如何调整动画。马上输入答案。谢谢!

标签: c# windows-8 microsoft-metro winrt-xaml


【解决方案1】:

我想我在凌晨 3 点的会议期间没有足够彻底地阅读 Microsoft 的文档。

我需要做的是向父级添加自定义EntranceThemeTransition

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition FromHorizontalOffset="0" IsStaggeringEnabled="false"/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

FromHorizontalOffset="0" 告诉它水平移动零像素(换句话说,根本不设置动画),IsStaggeringEnabled="false" 告诉它一次渲染所有项目。从这里,我可以为每个孩子添加自定义动画。

MSDN 资源:
IsStaggeringEnabled property
FromHorizontalOffset property

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多