4

要素の 1 つで EntrenceThemeAnimation を無効にしたいと考えています。このアニメーションをすべての子に設定するグリッドがあります(ページのデフォルトだと思います)。このグリッドの子である 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 に答える