如何使ContinuumNavigationTransitionInfo.ExitElementContainer适用于通用应用程序

时间:2016-01-20 13:43:31

标签: c# xaml winrt-xaml win-universal-app

我的理解是,一个Exit元素在过渡时“飞出”页面并且入口元素“飞入”。我能够实现“飞入”转换,但不能从列表视图中“飞出”:

这是我的清单 - 当我点击某个项目时没有任何反应。我甚至不确定要尝试让它起作用的元素 - 文档很少:

<ListView ItemsSource="{Binding}" ContinuumNavigationTransitionInfo.ExitElementContainer="True" ItemClick="ListView_ItemClick" IsItemClickEnabled="True" Grid.Row="1">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="Blue" BorderThickness="2" ContinuumNavigationTransitionInfo.IsExitElement="True">
                <TextBlock Text="{Binding}"/>
            </Border>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

这是我的第二页(“飞入”):

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock Text="sdfsdfsdfsdf" VerticalAlignment="Center" HorizontalAlignment="Center" ContinuumNavigationTransitionInfo.IsEntranceElement="True" Tapped="TextBlock_Tapped" IsTapEnabled="True"/>
</Grid>

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的问题,结果发现问题出在转换声明中。因此,在您定义转换的Page.Transitions中,添加以下代码

 <Page.Transitions>
    <TransitionCollection>
        <NavigationThemeTransition>
            <NavigationThemeTransition.DefaultNavigationTransitionInfo>
                <CommonNavigationTransitionInfo IsStaggeringEnabled="True"/>
            </NavigationThemeTransition.DefaultNavigationTransitionInfo>
        </NavigationThemeTransition>
    </TransitionCollection>
</Page.Transitions>

因此,这是列表项假设为flyout的页面。请注意,DefaultNavigation是CommonNavigationTransition类型, NOT ContinnumNavigation类型。

在列表项目飞行的页面中,默认导航的类型为ContinuumNavigationTransitionInfo。这样的事情

<Page.Transitions>
    <TransitionCollection>
        <NavigationThemeTransition>
            <NavigationThemeTransition.DefaultNavigationTransitionInfo>
                <ContinuumNavigationTransitionInfo/>
            </NavigationThemeTransition.DefaultNavigationTransitionInfo>
        </NavigationThemeTransition>
    </TransitionCollection>
</Page.Transitions>