更改Windows Phone 8.1应用程序的默认启动页面

9

我在通用应用程序解决方案的Windows Phone 8.1项目中创建了一个名为PivotPage.xaml的新基本页面。当我进入共享分区下的App.xaml时,我想要将下面的代码中的HubPage更改为新创建的PivotPage。但是,VS拒绝将PivotPage识别为合法类型。两个页面的命名空间和类定义完全相同。

if (!rootFrame.Navigate(typeof(HubPage), e.Arguments))
{
    throw new Exception("Failed to create initial page");
}

如果有其他方法可以更改默认页面,请也告诉我。
1个回答

12

试试这个

WP 8.1通用项目

-> 添加新项 -> 空白页面
-> 命名为MyPivotPage.xaml


MyPivotPage.xaml

<Page
    x:Class="YOUR_NAMESPACE.MyPivotPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:YOUR_NAMESPACE"
    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>
        <Pivot Title="MY APPLICATION">
            <!--Pivot item one-->
            <PivotItem Header="item1">
                <Grid/>
            </PivotItem>

            <!--Pivot item two-->
            <PivotItem Header="item2">
                <Grid/>
            </PivotItem>
        </Pivot>
    </Grid>
</Page>

将"YOUR_NAMESPACE"替换为你的命名空间 :)

然后在App.xaml.cs中进行如下操作

#if WINDOWS_PHONE_APP
if (!rootFrame.Navigate(typeof(MyPivotPage), e.Arguments))
{
    throw new Exception("Failed to create initial page");
}
#endif
#if WINDOWS_APP
if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
{
    throw new Exception("Failed to create initial page");
}       
#endif

清理你的解决方案
将 WP 8.1 Universal 设置为默认启动项目
部署到你的设备上


Chubosaurus软件:这正是我一直在做的事情。但是“PivotPage”未被识别为类型。编译器报错:“找不到类型或命名空间名称'PivotPage'(您是否缺少使用指令或程序集引用?)” - joym8
2
啊,我想我知道你做错了什么。请执行 Build -> Clean Solution。右键单击 WP8.1 项目 -> 将其设置为启动项目。右键单击 WP8.1 项目 -> Build。不要执行“Build Solution”,只需构建该特定项目然后部署即可。这是因为其他项目也没有 PivotPage,所以要么将其添加到其他项目中,要么使用一些 #define。我会修改我的解决方案来向您展示我在说什么。 - Chubosaurus Software
#if指令完美地工作了,不需要清理。谢谢。 - joym8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接