2

アプリケーションのすべての XAML ページにまったく同じコード部分があることがわかりました。コードの最初の部分は遷移を担当します。

<toolkit:TransitionService.NavigationInTransition>
    <toolkit:NavigationInTransition>
        <toolkit:NavigationInTransition.Backward>
            <toolkit:SlideTransition Mode="SlideLeftFadeIn" />
        </toolkit:NavigationInTransition.Backward>
        <toolkit:NavigationInTransition.Forward>
            <toolkit:SlideTransition Mode="SlideLeftFadeIn" />
        </toolkit:NavigationInTransition.Forward>
    </toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
...

2 つ目は、アプリケーション バーについて説明しています。

<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
...

このようなコードの重複を避けるのに役立つ方法はありますか? 私が理解しているように、これはスタイルやデータ テンプレートでは解決できませんか?

4

1 に答える 1

2

スタイルを使用して、コードを複製することなく、ナビゲーション ビットをすべてのページに適用できます。これは、私のプロジェクトの 1 つに使用したトランジション スタイルです。これは App.xaml ファイルに配置する必要があります

<Style x:Key="TransitionPageStyle" TargetType="phone:PhoneApplicationPage">
        <Setter Property="toolkit:TransitionService.NavigationInTransition">
            <Setter.Value>
                <toolkit:NavigationInTransition>
                    <toolkit:NavigationInTransition.Backward>
                        <toolkit:TurnstileTransition Mode="BackwardIn"/>
                    </toolkit:NavigationInTransition.Backward>
                    <toolkit:NavigationInTransition.Forward>
                        <toolkit:TurnstileTransition Mode="ForwardIn"/>
                    </toolkit:NavigationInTransition.Forward>
                </toolkit:NavigationInTransition>
            </Setter.Value>
        </Setter>
</Style>

次に、このスニペットを挿入することで、このスタイルを任意のページに適用できます

Style="{StaticResource TransitionPageStyle}"

通常は、xaml の一番上にある phone:PhoneApplicationPage タグに追加します。Application bar タグについては、コントロール自体のようなものなので、繰り返す必要があると思います。独自のプロパティとメソッドがあります。

于 2013-10-15T03:35:05.610 に答える