Windows Phone Panorama首先加载第二个项目

时间:2013-03-07 00:13:28

标签: windows-phone-7 xaml

我的应用程序遇到了一个奇怪的问题。即使我使用Visual Studio 2012中的模板创建全景页面,当我加载应用程序时,项目2首先出现,很短的时间,然后视图切换到项目1.我很确定它不应该是像这样行事。任何想法发生了什么?

    <Grid x:Name="LayoutRoot">
    <controls:Panorama Title="my application">

        <!--Panorama item one-->
        <controls:PanoramaItem Header="item1">
            <Grid/>
        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="item2">
            <Grid/>
        </controls:PanoramaItem>
    </controls:Panorama>
</Grid>

1 个答案:

答案 0 :(得分:2)

这是标准的全景行为。但你可以用这种方式解决它:

<phone:PhoneApplicationPage 
    ... some lines missed ...
    Loaded="MainPage_OnLoaded">
    <Grid x:Name="LayoutRoot">
        <controls:Panorama x:Name="MainPanorama" Title="my application">

            <controls:PanoramaItem x:Name="DefaultItem" Header="item1">
                <Grid/>
            </controls:PanoramaItem>

            <controls:PanoramaItem Header="item2">
                <Grid/>
            </controls:PanoramaItem>
        </controls:Panorama>
    </Grid>
</phone:PhoneApplicationPage>

Item1有一个名称,并添加了对Loaded事件的订阅。

然后在代码隐藏中:

public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void MainPage_OnLoaded(object sender, RoutedEventArgs e)
        {
            MainPanorama.DefaultItem = DefaultItem;
        }
     }