【问题标题】:Navigation between Page (Win 8.1)页面间导航(Win 8.1)
【发布时间】:2015-02-02 00:57:52
【问题描述】:

我尝试导航到不同的页面。我正在使用visual studio express 2012。但我已经在win-phone 8.1上读到我们需要使用System.Windows.Controls.Frame。问题是我在我的命名空间中找不到 Frame,我里面只有原始的。我想知道是否有办法更新这个包来拥有它。 谢谢。

【问题讨论】:

  • 你能贴出你试过的代码吗?您知道您创建的是 Silverlight 还是 Universal 项目?

标签: windows-phone-8.1


【解决方案1】:

Windows.UI.Xaml.Controls.Frame 用于 Windows Phone 8.1 运行时应用。 NavigationService.Navigate 适用于 Windows Phone 8.0 和 8.1 Silverlight 应用程序。

如果您使用的是 Visual Studio 2012,那么您有一个 Windows Phone 8.0 Silverlight 应用程序。您需要 Visual Studio 2013 来编写 Windows Phone 8.1 应用程序。

Silverlight 应用使用 NavigationService.Navigate 进行页面导航。看 How to perform page navigation on Windows Phone 8

您的 Windows Phone 8.0 应用无需修改即可在 Windows Phone 8.1 上运行。它只是无法访问新的 Windows Phone 8.1 功能。

当您获得 Visual Studio 2013(我建议您使用社区版)时,您将能够将其升级到 Windows Phone Silverlight 8.1 应用程序。这将使用您在 Silverlight 8.0 应用中使用的相同 NavigationService。

Visual Studio 2013 的另一个选项是编写一个 Windows Phone 运行时应用程序,它可以是与 Windows 应用商店应用程序共享代码的通用应用程序(在 Windows 上运行)。 Windows 运行时应用使用 Windows.UI.Xaml 命名空间,而不是 System.Windows。他们使用Windows.UI.Xaml.Controls.Frame 而不是 NavigationService。见Quickstart: Navigating between pages (XAML)

【讨论】:

  • 谢谢,但我没有找到对 Windows.UI.Xaml.Controls.Frame 的引用,我没有 Xaml 类。而且我不知道如何将它添加到我的项目中。我现在正在使用 2013 Visual Studio Express,我创建了一个 Windows Phone Silverlight,我做错了什么吗?
  • 您需要创建一个 Windows Phone 运行时应用程序(“通用应用程序”或“Windows Phone”模板)才能使用 Windows.UI.Xaml。 Silverlight 应用程序(“Windows Phone Silverlight”模板)使用 NavigationService.Navigate。您将需要 Visual Studio 2013 Update 2 或更高版本来创建 Windows Phone 运行时应用。
  • 好的,谢谢我刚刚做了。但是我的应用程序不能在 windows phone 8.0 上运行,对吗?我正在使用 Httpwebrequest,我想知道现在是否有更好的东西,或者使用它是否仍然很好。
  • 我也尝试让你使用 dispatcher.BeginInvoke 但它不起作用,所以如果有人知道如何让它工作;)。
  • 所以如果我想让我的应用程序在 windows phone 8 上运行,我应该创建一个 silverlight 应用程序,我只是不会有新功能。因为我的应用需要在 8.0 上运行。
【解决方案2】:

您应该创建 Windows Phone 通用应用程序而不是 Silverlight。 在 Visual Studio 中创建新项目时,您应该选择:商店应用程序-> Windows Phone 应用程序-> 将有两种类型的项目:Silverlight(括号内为 Windows Phone Silverlight)和通用(括号内为 Windows Phone)所以你应该选择第二个选项。

创建新项目后,您可以使用以下命令从一个页面导航到另一个页面:

Framne.Navigate...

希望我能帮上忙。

【讨论】:

  • 是的,谢谢,我创建了一个 Windows Phone 通用应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多