【问题标题】:Change app root frame in Windows Phone 8.1 Silverlight application在 Windows Phone 8.1 Silverlight 应用程序中更改应用程序根框架
【发布时间】:2015-04-21 10:23:48
【问题描述】:

由于我是 Windows Phone 编程的新手,所以我有两个简单的问题:

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

2: 与 Windows Phone WinRT 应用程序相比,Windows Phone Silverlight 应用程序在我看来是如此不同,或者我可能只是经验不足。例如,我不能在 Silverlight 中的 textBox 中放置占位符/提示文本,但在 WinRT 中非常简单,为什么会这样?这不是许多 IDE 实现的非常基本的东西吗?还是我在为 Windows Phone 开发 Silverlight 应用程序时错过了什么?

我知道 Windows Phone WinRT 用于创建通用应用程序,Silverlight 仅用于为 Windows Phone 创建移动应用程序,但为什么在 Silverlight 中开发移动应用程序(至少对我而言)与构建Windows Phone 应用程序 i WinRT?

【问题讨论】:

    标签: c# silverlight windows-runtime windows-phone-8.1


    【解决方案1】:

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

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

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

    【讨论】:

    • 不得不这样做似乎有点奇怪。 iOS 和 Android IDE 都以更简单的方式处理此问题。例如,使用您发布的带有密码框的文章建议不起作用。所以密码框中的提示文本不能在 Silverlight 中完成(?)@Depechie
    • 确实,WP 并没有开箱即用的一切......所以对于密码框,请查看以下解决方案:blog.premchakkungal.com/?p=10damianblog.com/2011/01/21/wp7-password-watermark
    • UriMapper 工作正常,但我有一个不明白的问题。当我登录时,userIsLoggedInBool 为 true,当我按下注销按钮时,userIsLoggedInbool 设置为 false,并且正确执行到起始页的导航。如果我登录然后重新启动应用程序,我将被定向到主页而不是登录页面,这是正确的。但是当我按下注销按钮时,导航到起始页面不再起作用。如果应用程序恢复并且用户已登录,就像注销按钮上的导航停止工作一样。我错过了一些关键的东西吗? @Depechie
    • 如果没有一些代码很难精确定位...如果您在自定义 URI 映射器中设置断点,当导航不起作用时,您看不到他在尝试做什么吗?
    • 嗯,我认为这与我将 DefaultTask 元素的 NavigationPage 属性设置为我的 LoginPage 有关。将其设置为应用程序中的随机页面似乎已修复它@Depechie
    【解决方案2】:

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

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

    对你来说不同是什么?我做了一个从 SL 到 WinRT 的应用程序的移植,但一点也不困难也不棘手。

    【讨论】:

    • 根据您的建议进行更改时,应用程序不会更改入口点,我还能缺少什么@fillobotto?
    • 更改后,保存项目并执行 Clean & Re-build
    猜你喜欢
    • 2014-09-07
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多