3

EntranceThemeTransitionにアニメーションを適用していTextBlockます。には、が含まれTextBlockているスタイルがPageHeaderTextStyleありますRenderTransform。私が抱えている問題は、アニメーションの再生が完了するまで実際にはレンダリングされないエフェクトをRenderTransform適用することです。Translationそのため、アニメーションがコントロールをスクロールインし、突然翻訳によってテキストが所定の位置にスナップされるため、奇妙に見えます。なぜこれが起こるのか誰かが知っていますか?

翻訳を考慮してアニメーションを再生する方法はありますか?

変身:

<Setter Property="RenderTransform">
    <Setter.Value>
        <TranslateTransform X="-2" Y="8"/>
    </Setter.Value>
</Setter>

TextBlock:

<TextBlock x:Name="pageTitle" Grid.Column="1" Text="{Binding Title}" Style="{StaticResource PageHeaderTextStyle}">
    <TextBlock.Transitions>
        <TransitionCollection>
            <EntranceThemeTransition/>
        </TransitionCollection>
    </TextBlock.Transitions>
</TextBlock>
4

2 に答える 2

5

私はまったく同じ問題に直面しました。これを解決する方法は、トランジションを使用して、から1レベル離れた場所に、たとえば2番目のをネストすることです。TextBlockGridGrid

トランジションは各子に変換を適用しますが、アニメーションが完了するまで一時的に変換が置き換えられるため、後で元の変換が適用されると厄介な「スナップ」が発生します。

次の例では、トランジションが実行され、's変換が置き換えTextBlockられ、トランジションが終了した後、元の変換が適用されます。「スナップ」が表示されます。

<Grid Style="{StaticResource LayoutRootStyle}">
    <TextBlock Text="Header" Style="{StaticResource PageHeaderTextStyle}"
        Margin="0,0,0,40"/>
</Grid>

次の例では、遷移が実行され、変換がに適用され、GridTextBlock変換は影響を受けません。「スナップ」なし:

<Grid Style="{StaticResource LayoutRootStyle}">
    <Grid>
        <TextBlock Text="Header" Style="{StaticResource PageHeaderTextStyle}"
            Margin="0,0,0,40"/>
    </Grid>
</Grid>

お役に立てれば!

于 2013-01-17T02:13:55.930 に答える
0

あなたの言葉からすると、EntranceThemeTransitionがTextBlockの変換をアニメートしているように見えます。これを回避する最も簡単な方法は、親要素に入口遷移を配置するか、親要素に変換を配置することです。TextBlockをグリッドでラップするだけで実行できます。

于 2012-11-18T06:47:05.440 に答える