如何处理 Windows Phone 7 上的后退按钮

2024-02-14

在 Windows Phone 7 模拟器上,当按下硬件后退按钮时,默认行为是关闭当前应用程序。我想覆盖此默认行为,以便它导航到我的应用程序中的上一页。

经过一些研究,似乎应该可以通过重写 OnBackKeyPress 方法来做到这一点,如下所示:

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    // do some stuff ...

    // cancel the navigation
    e.Cancel = true;
}

但是,单击后退按钮仍然会关闭我的应用程序。在上述方法上放置断点表明它从未被调用。我的应用程序退出代码上有另一个断点,这个断点is hit.

我还需要做些什么来拦截后退按钮吗?


看来不可能重写 OnBackKeyPress 方法来拦截后退键,除非您使用Navigate在应用程序的页面之间移动的方法。

我以前的导航方法是更改​​根视觉效果,例如:

App.Current.RootVisual = new MyPage(); 

这意味着我可以将所有页面保存在内存中,这样我就不需要缓存存储在它们上的数据(一些数据是通过网络收集的)。

现在看来我需要实际使用页面框架上的 Navigate 方法,这会创建我要导航到的页面的新实例。

(App.Current.RootVisual as PhoneApplicationFrame).Navigate(
                                    new Uri("/MyPage.xaml", UriKind.Relative)); 

一旦我开始使用这种方法进行导航,我就可以按照我的问题中描述的方式覆盖后退按钮处理......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 Windows Phone 7 上的后退按钮 的相关文章

  • 如何将图像从独立存储加载到 Windows Phone 上的图像控件中?

    我使用此代码在相机操作完成时将图像存储到隔离存储中 void camera Completed object sender PhotoResult e BitmapImage objImage new BitmapImage objImag
  • 如何在 C# 中的 HttpClient 中使用凭据?

    我在使用 HttpClient 类访问 Delicious API 时遇到一些问题 我有以下代码 try const string uriSources https api del icio us v1 tags bundles all p
  • 原生编程对于移动开发有何优势?

    我需要为一家公司在一些主要的移动操作系统上开发应用程序 特别是 iOS Android 和 WP7 我最初计划为三种不同的操作系统编写三个独立的应用程序 每个应用程序都使用本机 SDK 然而 这样做有什么好处吗 有许多可用的跨平台工具 Se
  • Windows Phone 7 中的 ASCII 编码

    有没有办法在 Windows Phone 7 中使用 ASCIIEncoding 除非我做错了什么Encoding ASCII不存在 我需要它来进行 C gt PHP 加密 因为 PHP 在 SHA1 加密中仅使用 ASCII 有什么建议么
  • Windows Phone 目前是否有用于接近传感器和光传感器的 API?

    Windows Phone 目前是否有用于接近传感器和光传感器的 API 我想访问这两个传感器 但找不到API 有一些方法可以使用它们吗 很不幸的是 不行 此处列出了可用的传感器 API http msdn microsoft com en
  • 重置 Windows Phone 照片上传

    我正在尝试使用 RestSharp 将照片上传到 Windows Phone 7 应用程序中的 REST api 进行获取 发布 post参数如下 photo 照片 编码为多部分 表单数据 照片 相册 id 现有相册的标识符 可以是一个事件
  • 为 Windows Phone 7 创建自定义 InputScope

    在哪里可以找到创建自定义 InputScope 的教程 我想创建一个自定义键盘 在屏幕键盘上仅显示数字 1 9 无符号 您无法创建自定义输入范围 以下是支持的范围输入范围名称值枚举 http msdn microsoft com en us
  • WP7如何在TombStoning期间存储LiveConnectSession?

    我正在使用 MS 提供的 PhotoSkyOnTheGo 示例的 Windows 实时登录策略 因此 当我的应用程序启动时 它会显示 Windows 实时登录页面 在应用程序运行时 我记得 LiveConnectSession 连接到 Sk
  • 检测Windows Phone 7上已显示屏幕键盘

    简单的问题 如何检测windows mobile 7上已经显示屏幕键盘 是否有我可以添加侦听器的事件 它占据了大约一半的屏幕 我想在它显示时向上滚动视图 EDIT 下面的评论更清楚地表明了我想要做什么 我有一个文本框输入 当用户在其中输入时
  • Mvvm跨本地化:运行时切换

    有没有办法在运行时将当前语言更改为另一种语言 例如 能够在单击按钮时或启动应用程序时进行切换 获取用户语言并进行切换 如何告诉插件在启动时检查用户语言 在此先感谢您的帮助 有没有办法在运行时将当前语言更改为另一种语言 是的 打电话build
  • 为 Windows 8 编写的应用程序可以在 Windows Phone 8 上运行吗?

    正如微软所说 Windows 8 和 Windows Phone 8 共享相同的代码库 如果我使用 Visual Studio 2012 RC 为 Windows 8 编写一个应用程序 我想知道我是否可以在 Windows Phone 8
  • 如何让您的 WP7 应用程序出现在游戏中心?

    我为 WP7 制作了一个简单的游戏 但显然仅使用 XNA 模板不足以让您的游戏显示在游戏中心中 我需要什么代码才能实现这一点 另外 我可以让用 silverlight 制作的游戏也出现在游戏中心吗 如果是这样 我该怎么做 Thanks 您需
  • 虚拟化 ListBox 的 ItemsControl 上的边距无法正常工作

    我对扩展的类有疑问ListBox在 Windows Phone 7 Silverlight 中 我们的想法是拥有一个完整的ScrollViewer 黑色 例如充满整个手机屏幕 并且ItemsPresenter 红色 有边距 绿色 这用于在整
  • 多图像选择

    我正在使用 Windows Phone SDK 7 1 C 在 WP7 中制作应用程序 正在使用照片选择器任务 但我想选择 9 张图像 而这里我只能选择一张图像 如何一次选择 9 张图像 请帮助我 这是我的代码 public partial
  • 使用 DataContractJsonSerializer WP7 将数组解析为 Json 字符串

    如何使用 DataContractJsonSerializer 解析 Json 字符串中的数组元素 语法是 array elementsProperies SomeLiteral 您不一定使用 DataContractJsonSeriali
  • Windows Phone 的 JSON 反序列化

    我正在尝试反序列化以下 JSON 但我真的不知道如何使用 JSON net 来完成这项工作 我正在使用 C 和 JSON Net 库 我的 JSON 如下 found 3 bounds 43 54919 172 62148 43 54487
  • 如何让我的 Windows Phone 7 应用程序出现在 Windows Phone 8 市场中?

    当我进行构建时 我一定做错了什么 我希望当前的更新适用于 Windows Phone 7 和 Windows Phone 8 我正在使用 WP8 SDK 并面向 OS 8 当我上传 XAP 时 我得到了 AnyCPU xap 现在我的应用程
  • 如何在wp7中自动启动应用程序而无需用户实际单击图标

    我是wp7新手 我想创建一个无需用户启动即可自动启动的应用程序 类似于任何 PC 上的自动病毒扫描 请提出任何建议 一个很好的代码示例会让我更好地理解 谢谢 不可能 感谢微软没有让这一切成为可能
  • 用于 Windows Phone 开发的 FFmpeg

    我在 ASP Net 基于 Web 的应用程序中使用了 FFmpeg 现在我想用它来进行Windows Phone开发 可以使用吗 如果是 那么如何 Windows Phone 7 根本不支持 FFmpeg 而且据我在网上找到的信息 Win
  • 覆盖 Windows Phone 7 中的主题

    有没有办法让控件只使用深色或浅色主题 我正在开发一个大部分是深色的应用程序 我们有一些深色的自定义背景 所有文本块都已处理 它们始终是白色的 但是按钮 文本框 复选框 单选按钮 当手机主题设置为浅色时 所有这些都会变成黑色 并且几乎看不见

随机推荐

  • 如何限制 HttpModule 每个请求只能调用一次?

    这是我的 HttpModule 实现 带有模块的文件 public class HttpModuleRewriter IHttpModule region IHttpModule public void Init HttpApplicati
  • 禁用segue动画

    我想在我的故事板中显示 例如推送 segues 以连接我的视图控制器和导航控制器 然后视图控制器上的导航栏将正确显示 例如 使用显示详细信息或呈现模式 导航栏将消失 但我不想继续动画 Xcode 发出如下警告 在 iOS 9 0 之前 无法
  • 相似图像 - 如何比较它们

    我有超过 130 万张图像需要相互比较 并且每天都会添加数百张图像 我的公司拍摄图像并创建一个可供我们的供应商使用的版本 这些文件通常彼此非常相似 例如 两个不同的公司可以向我们发送两个不同的图像 一个 JPG 和一个 GIF 两者都带有麦
  • 如何使这个 CSS 汉堡菜单完全可点击?

    我正在开发一个纯 CSS 汉堡菜单图标 到目前为止 它工作得很好 只是线条之间的间隙不可点击 我如何修改此代码 以便整个按钮都可单击 而不仅仅是线条 a href title Open Menu class menu a menu widt
  • 在 ColorDialog 中设置自定义颜色

    颜色对话框中的自定义颜色设置应使用以下代码设置为 Blue Blue colorDialog1 CustomColors new int System Drawing Color Blue ToArgb 0xFF0000 colorDial
  • 为什么atomic.StoreUint32比sync.Once中的普通分配更受欢迎?

    在阅读Go源码时 我对src sync once go中的代码有一个疑问 func o Once Do f func Note Here is an incorrect implementation of Do if atomic Comp
  • backbone.js:自上次服务器保存以来是否有变化?

    我有一个骨干模型 使用 model set 我可以设置本地值 使用 model save 我可以将整个模型保存到服务器 我如何知道自上次服务器保存以来是否发生了更改 这意味着本地版本是脏的 模型 isNew 仅当模型从未保存到服务器时才有效
  • TestNG - 如果满足条件,如何从 BeforeSuite 注释中强制结束整个测试套件

    如果满足 BeforeSuite 注释中的条件 是否有办法退出整个测试套件 也许有一种方法可以调用 AfterSuite 并绕过整个测试 我在 BeforeSuite 中进行数据库调用 如果查询返回任何结果 我会发送一封电子邮件 现在想要终
  • 将 spring 区域设置变量传递给 application.properties

    我已将 URL 放入 application properties 文件中 现在这些 URL 需要具有语言 以便页面以不同的语言加载 例如 在我的 application properties 文件中 我有一个 联系我们 链接的属性 如下所
  • PostgreSQL 是否像 Oracle 一样缓存准备好的语句

    在使用 Oracle 几年后 我刚刚转向 PostgreSQL 我一直在研究 PostgreSQL 数据库应用程序 Java JDBC 中准备好的语句的一些性能问题 Oracle 在其 SGA 中缓存准备好的语句 准备好的语句池在数据库连接
  • 为什么C中函数的大小总是1字节?

    当我们使用以下命令检查函数的大小时sizeof 我们总是得到1 byte 这1个字节代表什么 这是一个约束违规 你的编译器should诊断它 如果它编译它 尽管如此 你的程序有未定义的行为 感谢 Steve Jessop对失败模式的澄清 并
  • 如何使用 StyledDocument 和 HTML 进行输出?

    我有一个JTextPane 我想使用其中输出文本StyledDocument 这是我的StyledDocument object StyledDocument dox StyledDocument textArea getDocument
  • ncurses 无法识别箭头键宏

    很长一段时间以来 我一直在努力寻找解决方案 我无法让终端窗口识别键盘 这是我的代码 while 1 if cmd ERR printw Controls LEFT RIGHT and SPACEBAR Q TO QUIT if cmd St
  • 跨平台 C# 媒体 API

    我正在尝试在 mono net 对象中定义一个 VideoFile 以便我可以调用 var file new VideoFile filepath file VideoDuration 是否有一个库 操作系统或商业 可以跨平台 mono n
  • Python 3.2 - GIL - 好/坏?

    Python 3 2 阿尔法is out http python org download releases 3 2 从更改日志来看 GIL 似乎已被完全重写 几个问题 拥有 GIL 是好是坏 和 为什么 新的GIL更好吗 如果是这样 怎么
  • VBA Excel - 无法在重叠选择上使用该命令

    我的代码似乎可以工作 但它突出显示了我的最后一行代码 并显示 运行时错误 1004 无法在重叠选择上使用该命令 我尝试了在网上找到的一些各种更改 但似乎无法修复该错误 Sub Delete EEE Dim Wrds As Variant G
  • ^a-zA-Z0-9 不包括空格?

    我试图找到段落中不是 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 且不是空格 gi 的所有内容 a zA Z0 9 gi 上面的方法不行 您还可以尝试 a z
  • 单元测试中什么是正向测试和负向测试

    我对 TDD 还很陌生 我看到一些文档提到了阳性测试 阴性测试 边界测试等 有人能告诉我阳性测试和阴性测试之间的区别吗 有没有关于不同类型测试的参考资料 我不是在找书 阳性检测 通过提供有效的测试系统 数据 阴性检测 通过提供无效的测试系统
  • 在容器内运行 Chromium:libGl 错误

    我正在尝试在 docker 容器内运行 Chromium 这是我得到的输出 Created new window in existing browser session libGL error failed to open drm devi
  • 如何处理 Windows Phone 7 上的后退按钮

    在 Windows Phone 7 模拟器上 当按下硬件后退按钮时 默认行为是关闭当前应用程序 我想覆盖此默认行为 以便它导航到我的应用程序中的上一页 经过一些研究 似乎应该可以通过重写 OnBackKeyPress 方法来做到这一点 如下