如何在MainPage.xaml
中更改默认Universal Windows App
的位置?我希望在Windows和WindowsPhone项目中有一个名为“View”的子文件夹,我保存MainPage.xaml
文件就像这个例子一样。
- Windows项目
- 查看
--- MainPage.xaml
- WindowsPhone项目
- 查看
--- MainPagePhone.xaml
- 共享文件
- 型号
- ViewModel
- App.xaml
根据该结构,我在App.xaml.cs
中遇到了无法找到MainPage
的问题。
if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
答案 0 :(得分:2)
首先,您不需要为文件指定不同的名称,对于手机和电脑项目都使用MainPage,并将MainPage.xaml放在视图文件夹中。 通用应用程序将知道它运行的平台,并将相应地加载正确的页面。 您需要在两个项目中创建视图文件夹和MainPage.xaml文件。 删除View文件夹之外的每个MainPage.xaml文件。
然后导航到App.xaml.cs共享文件。
查看onLaunched
方法,您应该在方法的最后找到类似的内容:
if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
这是您的项目尝试加载页面的地方。 MainPage应该标记为错误,因为我们错过了引用。
因此,请将其添加到App.xaml.cs页面的顶部:
using NameOfYourProjectHere.View;
让我知道它是否有效!
答案 1 :(得分:0)
如果你想拥有不同的名字(mainWinPage / mainPhonePage),你每次在共享项目中使用它时都要告诉他要采取哪一个:
#include yournamespace.Views;
..
#if WINDOWS_APP
if (!rootFrame.Navigate(typeof(MainWinPage), e.Arguments))
...
#else // or #if WINDOWS_PHONE_APP
if (!rootFrame.Navigate(typeof(MainPhonePage), e.Arguments))
...
#endif
或只是使用相同的名称,使其更容易。