4

我想为我的一个元素禁用 EntrenceThemeAnimation。我有一个 Grid 将此动画设置为它的所有子项(我认为它是页面的默认设置)。是否可以为此网格的子级 ContentControl 禁用此动画?

我尝试了以下方法,但似乎不起作用。

内容

<Grid Style="{StaticResource LayoutRootStyle}">
...
<!-- no animations for this element -->
<ContentControl x:Name="Background" Content="Tabstagram" Margin="0" Grid.Row="1" Style="{StaticResource Background}">
    <ContentControl.Transitions>
        <TransitionCollection/>
    </ContentControl.Transitions>
    <ContentControl.ContentTransitions>
        <TransitionCollection/>
    </ContentControl.ContentTransitions>
</ContentControl>

风格

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>
<Style x:Key="Background" TargetType="ContentControl">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ContentControl">
                <Grid>
                    <Grid.ChildrenTransitions>
                        <TransitionCollection/>
                    </Grid.ChildrenTransitions>
                    <Grid.Transitions>
                        <TransitionCollection/>
                    </Grid.Transitions>
                    <Rectangle IsHitTestVisible="False" StrokeThickness="75" Margin="0" Fill="#FFC1C1C1"/>
4

1 回答 1

1

我的页面的 LayoutRoot 网格中有以下内容,它正确禁用了入口主题转换:

<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootStyle}">
    <Grid.ChildrenTransitions>
        <TransitionCollection/>
    </Grid.ChildrenTransitions>

但是请注意,我正在覆盖使用LayoutRootStyle的面板的转换,并且我是在页面中而不是在资源中执行此操作。

可能是这些动画从启用它们的第一个控件向下流动,而不管子控件是否禁用它们。您可以尝试将两个面板放在 UI 层次结构的同一级别(对等而不是嵌套在另一个中),看看是否可以解决问题。

于 2013-01-22T18:59:25.547 回答