在 Windows Phone 8.1 Silverlight 应用程序中更改应用程序根框架

Change app root frame in Windows Phone 8.1 Silverlight application

我有两个简单的问题,因为我是 Windows Phone 编程的新手:

1: 在 Windows Phone 8.1 Silverlight 应用程序中,如何在启动时显示 root frame 或显示不同的 Page?我有一个 LoginPage,然后我想检查用户是否登录显示 MainPageroot frame,如果用户未登录显示 LoginPage

2: Windows Phone Silverlight 应用程序对我来说似乎与 Windows Phone WinRT 应用程序截然不同,或者我可能只是经验不足。例如,我不能在 Silverlight 中将 placeholder/hint 文本放入 textBox 中,但在 WinRT 中这非常容易,为什么会这样?这不是许多 IDE 实现的非常基本的东西吗?或者当我为 Windows Phone 开发 Silverlight 应用程序时,我错过了什么市长?

我知道 Windows Phone WinRT 用于创建通用应用程序,而 Silverlight 仅用于为 Windows Phone 创建移动应用程序,但为什么要开发与在 WinRT 中构建 Windows Phone 应用程序相比,Silverlight 中的移动应用程序有很大不同(至少对我而言)?

第 1 点 您必须转到 Package.appxmanifest 并在名为“应用程序”的选项卡下,第二个字段包含启动页面名称。目前应该是MainPage.xaml,改成LoginPage.xaml.

第 2 点 我不太明白你的问题。 Silverlight 和 Windows Runtime 是两个不同的平台,它们实际上有很多不同的库。 Windows Runtime 的目标是 运行 相同的应用程序在几个不同的设备上,因此不同的硬件要求和不同的分辨率。需要以不同的方式组织环境,当然 Microsoft 添加了一些小的更改,例如提示文本(例如)。

什么对您来说不同?我将应用程序从 SL 移植到 WinRT,但这一点也不难也不棘手。

对于第一个问题,请使用 UriMapper。 基本原则是检查用户是否登录,并根据此导航到正确的视图。

代码并没有那么复杂,有一个非常good tutorial up on Shawn Kendrot his blog here...

对于问题 2,如何添加某种 hint/watermark 可以通过几种不同的方式完成。 但是提供了一个非常简单的版本on MSDN here...它使用事件来设置和清除水印。