我正在使用Windows 10应用。我在我的第二页创建了地图..但它太慢了..是否可以在将页面内容显示给用户之前预先加载页面内容,以便从第x页到第y页的过渡是否顺畅?
答案 0 :(得分:0)
最简单的选择可能就是不要让它成为一个页面;相反,在您开始的页面上有地图,但其Opacity
为零。然后,当您想要显示它时,将Opacity
设置为1。这个if课程意味着您支付加载地图的费用,即使用户从不想查看它,但它也可以立即查看。
示例XAML:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Content="go to map" Click="GoToMap" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Grid x:Name="mapLayer" xmlns:maps="using:Windows.UI.Xaml.Controls.Maps" Opacity="0" IsHitTestVisible="False">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<maps:MapControl />
<Button Content="back" Click="HideMap" HorizontalAlignment="Center" Grid.Row="1"/>
</Grid>
</Grid>
匹配代码:
private void GoToMap(object sender, RoutedEventArgs e)
{
mapLayer.Opacity = 1;
mapLayer.IsHitTestVisible = true;
}
private void HideMap(object sender, RoutedEventArgs e)
{
mapLayer.Opacity = 0;
mapLayer.IsHitTestVisible = false;
}
答案 1 :(得分:0)
无法实现,导航到某个页面时,uwp应用中的所有页面都会被渲染。
但您可以在导航到第二页之前准备数据,也许您可以将这些数据保存在本地存储中,并在第二页的OnNavigatedTo方法中加载数据,这样会更好。