Windows phone 8 什么';Windows Phone 8.1 Pivot有什么问题?(WinRT-非Silverlight)

Windows phone 8 什么';Windows Phone 8.1 Pivot有什么问题?(WinRT-非Silverlight),windows-phone-8,windows-runtime,windows-phone-8.1,pivot,winrt-xaml,Windows Phone 8,Windows Runtime,Windows Phone 8.1,Pivot,Winrt Xaml,所以我决定从Windows Phone 8.0迁移到Windows Phone 8.1 API,而不是silverlight API。 原因是我想使用Silverlight 8.1或WP 8.0不支持的Win2D绘图库 奇怪的事情正在发生。 简单透视视图非常滞后,而且不能正确显示视图。 我正在使用最新的Visual Studio 2015。在我链接的视频中,您可以看到以下页面XAML代码的结果(仅用于测试): 有人知道这里发生了什么吗?我应该使用第三方的pivot类似物,还是干脆忘记在新操作

所以我决定从Windows Phone 8.0迁移到Windows Phone 8.1 API,而不是silverlight API。 原因是我想使用Silverlight 8.1或WP 8.0不支持的Win2D绘图库

奇怪的事情正在发生。 简单透视视图非常滞后,而且不能正确显示视图。 我正在使用最新的Visual Studio 2015。在我链接的视频中,您可以看到以下页面XAML代码的结果(仅用于测试):


有人知道这里发生了什么吗?我应该使用第三方的pivot类似物,还是干脆忘记在新操作系统中使用它? 把我的头发拔出来。 任何解决方案都将不胜感激


问题在于您在
透视图上使用的是
CacheMode=“BitmapCache”
。拆下此线后,性能应良好

首先,缓存应用于元素及其所有子元素,BitmapCaching应在混合、转换(平移、拉伸、旋转)的场景中使用。如果您需要BitmapCaching,请尝试不要在根控件上使用它,而是在真正需要BitmapCaching的子控件上使用它

滥用CacheMode功能可能会影响性能,因此您需要认真思考自己在做什么。如果可视化树交错缓存和未缓存的元素,则实际上是在幕后创建多个渲染曲面。未缓存的曲面在软件中渲染,缓存的曲面在硬件中渲染。如果您可以最小化渲染曲面的总数,并让硬件尽可能地工作,那么您的性能将是最好的


从另一个
StackOverflow
回答。希望有帮助。

非常感谢。我还在学习wp和WinRT框架。然而,令人感兴趣的是,WP8.0上的同一代码使其工作没有任何问题
<Page
x:Class="Apptest2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Apptest2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <StackPanel Grid.Column="0">
        <Button Content="Go"
               />
    </StackPanel>
    <Pivot Grid.Row="1"
           x:Name="PivotView"
           Margin="10,0,10,15"
           CacheMode="BitmapCache"
           VerticalContentAlignment="Stretch">
        <PivotItem Header="item1">
            <Grid Background="BlueViolet" />
        </PivotItem>
        <PivotItem Header="item2">
            <Grid Background="BlueViolet" />
        </PivotItem>
        <PivotItem Header="item3">
            <Grid Background="BlueViolet" />
        </PivotItem>
        <PivotItem Header="item4">
            <Grid Background="BlueViolet" />
        </PivotItem>
        <PivotItem Header="item5">
            <Grid Background="BlueViolet" />
        </PivotItem>
        <PivotItem Header="item6">
            <Grid Background="BlueViolet" />
        </PivotItem>


    </Pivot>
</Grid>
</Page>