0

現在、WinRT-XAML チュートリアルを進めていますが、WebView コントロールが他のコントロールと同じ入り口アニメーションを行わない理由がわかりません。Adding animations and transitionsそれが期待されていないこと、およびそれを行うにはアニメーション付きのストーリーボードが必要であることを説明するセクションがあります。

StandardStyles.xaml の他のコントロールにトランジションを適用するセッターのソースを見つけました。

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

これは、このスタイルを持つパネルのすべての子コントロールに EntranceThemeTransition を適用する必要があるようです。または、遷移を直接の子にのみ適用する必要があります。両方を少しずつ行っているようです。

また、位置情報を持たないコントロールが親と一緒にアニメーション化されることも期待していました。そうではないようです。 WebView の直接の親はうまくアニメーション化されます。

この場合、WebView が特別な理由は何ですか? デフォルトのテンプレートの一部ではないという事実は別として。この 1 つのコントロールを移動させるために、なぜ PopInThemeAnimation と Storyboard を追加する必要があるのですか? また、内部にあるはずのコントロールとは異なる速度で移動するのはなぜですか!?

4

1 に答える 1

2

AWebViewは、深さ方向のフラット スペース (ジュピター ウィンドウ) でレンダリングされる典型的な XAML ベースの UI の残りの部分とは対照的に、独自の HWND (クラシック WinAPI ウィンドウ) に存在する特別なコントロールです。そのため、他のすべてのコントロールの上にある独自の空域に住んでいます (それをかき集めます)。WebViewBrush通常、WebView をアニメーション化するか、その上に他のコンテンツ (アプリ バーなど) をオーバーレイする場合は、WebView に同期された他のコントロール (Rectangle など) に置き換えます。

(一部の) テーマ アニメーションは、通常のストーリーボードの代わりにWindows アニメーション マネージャーまたはその他のメカニズムを使用していると思いますが、WebView コントロールがうまく機能しない可能性があります。

私のアドバイスは、使用しようとしているもの (EntranceThemeTransition) で機能しない場合は、別のもの (通常のストーリーボード ベースのアニメーション) を使用することです。

于 2013-03-27T00:07:13.533 に答える