1

Windows 8 アプリのページに追加されたすべてのオブジェクトは、誰かがページに移動するたびに開始されるこの "右から左へのスライド" 入口遷移を取得するようです。

この移行から単一のオブジェクトを削除する可能性はありますか?

ない

<Object.Transitions>
      <TransitionCollection />
</Object.Transitions>

このスレッドも役に立ちませんでした...

何か案は?

4

2 に答える 2

0

私の知る限り、特定のオブジェクトをその親によって適用されるトランジションから除外する方法はありません。私が提案できる唯一のことは、トランジションが適用されないように xaml を構成することです。これは、ページの残りの部分が子トランジションを持つパネルにある間に、子トランジションを持たないパネルにこの特別なアイテムを配置することを意味します。このアイテムがどこにあるかによって、非常に簡単な場合もあれば難しい場合もあります。

于 2013-04-25T09:40:17.937 に答える
0

Nigelが示唆したように、私が見つけた唯一の解決策は、ページ構造を変更し、アニメーションを持つグリッドから要素を配置することでした。

<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.Transitions>
            <TransitionCollection/>
            <!-- Ensure no transitions in background -->
        </Grid.Transitions>

        <TextBlock FontSize="50" Margin="50">This item is not animated</TextBlock>
        <Grid>
            <Grid.ChildrenTransitions>
                <TransitionCollection>
                    <!-- add transitions here -->
                    <EntranceThemeTransition FromVerticalOffset="1500" FromHorizontalOffset="1500"/>
                </TransitionCollection>
            </Grid.ChildrenTransitions>
            <TextBlock Margin="50,100" FontSize="50">This item is animated</TextBlock>
        </Grid>
        <TextBlock FontSize="50" Margin="50,150">Another not animated item</TextBlock>
    </Grid>
</Page>
于 2014-09-19T12:38:17.280 に答える