我想为我的一个元素禁用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"/>
答案 0 :(得分:1)
我在页面的LayoutRoot网格中有以下内容,它正确地禁用了入口主题转换:
<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootStyle}">
<Grid.ChildrenTransitions>
<TransitionCollection/>
</Grid.ChildrenTransitions>
请注意,我正在覆盖使用 LayoutRootStyle 的面板的过渡,我在页面而不是资源中进行此操作。
可能是这些动画从它们启用的第一个控件开始向下流动,无论子控件是否禁用它们。您可以尝试将两个面板放在UI层次结构的同一级别(对等体而不是嵌套在另一个体系结构中)并查看是否修复了它。