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>
...

第二个描述了应用程序栏:

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

有没有办法可以帮助避免这种代码重复?据我了解,这无法通过样式或数据模板来解决,或者可以吗?

4

1 回答 1

2

导航位可以应用于所有页面而无需使用样式重复代码。这是我用于我的一个项目的过渡风格。这应该放在您的 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}"

到您的手机:PhoneApplicationPage 标记通常位于任何 xaml 的最顶部。至于应用程序栏标签,我认为它确实需要重复,因为它有点像控件本身,即。它有自己的属性和方法。

于 2013-10-15T03:35:05.610 回答