wp使用ApplicationMenu与使用者互动

功能说明

使用过Lumia系列手机的开发人员,对于内建的相机功能相信都很熟悉。在Lumia内建的相机功能中,提供用户变更相片参数、变更影片参数...等等的设定功能,都是如下图所示意的:点选ApplicationBar的选项之后,在同页面中显示设置选单,来提供使用者设定参数。而这样,点选ApplicationBar的选项之后,在同一个页面显示选单的功能,我自己给它一个名字叫做:「ApplicationMenu」。

  • 功能画面

    <ignore_js_op>

使用ApplicationMenu与使用者互动,有着下表所列的种种优缺点,开发人员可以依照系统需求来做评估与选择。而目前.NET Framework并没有提供内建的ApplicationMenu,开发人员必须自己实做。本篇文章介绍如何实做ApplicationMenu,用以在点选ApplicationBar的选项之后,在同一个页面显示选单,为自己留个纪录也希望能帮助到有需要的开发人员。

  • 优点

    • 减少切换页面时,使用者等待新页面的等候时间。
    • 减少切换页面后,使用者对于新页面的学习恐惧。
    • 减少撰写程序时,开发人员对于状态维持、参数传递、状态恢复等等功能的设计。
    • ......
  • 缺点
    • 页面选单过多时,增加使用者的学习负担。
    • 将选单加入页面,意味着页面功能增加,增加了执行时的内存。
    • 将选单加入页面,意味着页面职责增加,增加了维护时的复杂度。
    • ......

功能使用

在开始介绍如何实做ApplicationMenu之前,先介绍如何使用ApplicationMenu,避免开发人员看到大量的实做程序代码就直接昏迷不醒。

本篇文章所实做的ApplicationMenu,最终是将功能封装成为Popup类别的扩充方法:

  • ApplicationMenuExtension

    public static class ApplicationMenuExtension{    // Methods                  public static void ShowApplicationMenu(this Popup popup)    {        // ...    }    public static void HideApplicationMenu(this Popup popup)    {        // ...    }}

开发人员要在页面加入ApplicationMenu的时候,只需要先在页面的XAML内,定义一个做为ApplicationMenu的Popup类别、以及用来开启这个ApplicationMenu的ApplicationBar类别:

  • ApplicationBar
  • ApplicationMenu

接着只需要在页面的事件处理函式中,呼叫ShowApplicationMenu、HideApplicationMenu这两个Popup类别的扩充方法,就可以在页面中显示、隐藏ApplicationMenu:

    • MainPage

      public partial class MainPage : PhoneApplicationPage{    // Handlers    private void BeginSettingButton_Click(object sender, EventArgs e)    {        // Show        this.SettingMenu001.ShowApplicationMenu();    }    private void EndSettingButton_Click(object sender, EventArgs e)    {        // Hide        this.SettingMenu001.HideApplicationMenu();    }}

    • 执行结果
    • 详细说明:http://wp.662p.com/thread-8109-1-1.html
时间: 2024-12-05 10:55:47

wp使用ApplicationMenu与使用者互动的相关文章

shell下的作业管理[转]

作业管理 举例来说,我们在登陆 bash 后, 想要一边复制文件.一边进行数据搜寻.一边进行编译,还可以一边进行 vi 程序撰写! 当然我们可以重复登陆那六个文字介面的终端机环境中,不过,能不能在一个 bash 内达成? 当然可以啊!就是使用 job control 啦! 进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 bash ! 或许你会觉得很奇怪啊,既然我可以在

WPF中的事件列表 .

以下是WPF中的常见事件汇总表(按字母排序),翻译不见得准确,但希望对你有用. 事件 描述 Annotation.AnchorChanged 新增.移除或修改 Anchor 元素时发生. Annotation.AuthorChanged 新增.移除或修改 Author 元素时发生. Annotation.CargoChanged 新增.移除或修改 Cargo 元素时发生. AnnotationStore.AnchorChanged 存放区中任何注释上的 Anchor 元素变化时发生. Annot

第十七章、程序管理与 SELinux 初探 工作管理 (job control)

工作管理 (job control) 这个工作管理 (job control) 是用在 bash 环境下的,也就是说:『当我们登陆系统取得 bash shell 之后,在单一终端机介面下同时进行多个工作的行为管理 』.举例来说,我们在登陆 bash 后, 想要一边复制文件.一边进行数据搜寻.一边进行编译,还可以一边进行 vi 程序撰写! 当然我们可以重复登陆那六个文字介面的终端机环境中,不过,能不能在一个 bash 内达成? 当然可以啊!就是使用 job control 啦! ^_^ 什么是工作

linux命令集

线上查询及帮助 [[email protected] ~]# man help (help command内建命令帮助)NAME       bash,  :,  .,  [,  alias,  bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue,       declare, dirs, disown, echo, enable, eval, exec, exit, export

Linux - 工作管理(job control),jobs,fg,bg,kill

什么是工作管理? 『进行工作管理的行为中, 事实上每一个工作都是眼下 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 bash !』 这个概念请你得先创建起来,兴许的范例介绍之后.你就会清楚的了解罗. 由於如果我们仅仅有一个终端介面,因此在能够出现提示字节让你操作的环境就称为前景 (foreground).至於其它工作就能够让你放入背景 (background) 去暂停或执行. 要注意的是,放入背景的工作想要执行

如何优雅的定义 App 的界面设计

2014年初,移动端上网的流量第一次超越了PC端,从此确定了移动端取代桌面PC端成为一般大众接受信息的主流终端.也正是因为如此越来越多的移动互联网创业者将自己的产品重心放在了APP上面,然而随着移动端市场的扩大,APP的数量达到了井喷的状态,如何在众多的APP产品中吸引到你的忠实中户,用于体验设计成了当下一个非常重要的环节. 用户体验设计的概念非常广泛,包含了使用者.挖掘使用者潜在动机和实用性.视觉没感体验等等,通俗来讲,如何让你一个产品给用户很爽的感觉,其中包含的知识和方法都是用户体验的一部分

摘要JSR168 PORLET标准手册汉化整理

本规范汉化资源搜集整理于网上并由我作了些修改和添加,主要为适应大陆的语辞.用语及其他未译之处. 由于本人于水平有限,如有错误,请各位高手指正:若有高见,希望不吝言辞,同为中国开源作项献. 特此严重感谢翻译此规范的原译者: 第一.第二章节     台湾省   Jini 第三章节           上海市   风之舞 第四章~最后章节    台湾省   koji lin JSR168 PORLET标准手册汉化整理 本规范汉化资源搜集整理于网上并由我作了些修改和添加,主要为适应大陆的语辞.用语及其他

浅谈Linux磁盘修复e2fsck命令

linux下磁盘检查修复命令e2fsck -a: 检查 partition,如发现问题会自动修复.-b: 设定 superblock 位置.-B size: 指定 size 作为区块大小.-c: 检查 partition 是否有坏轨.-C file: 将检查结果储存到 file.-d: 输出 e2fsck debug 结果.-f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查.-F: 在检查前将硬盘的 buffer cache 清空,避免发生错误.-l list: 记录了坏

Win7 可关闭的服务启动项

alerter—错误警报器没啥用的.(你绝对要关的,不然,非烦死你不可) automatic updates—windows自动更新(都关了吧.留着也没用了有360你还用这个干什么?) background intelligent transfer service—这个服务原是用来实现http1.1服务器之间的信息传输,微软称支持windows更新时断点续传 .(就是断点续传,既然都不更新了,也关闭吧) Computer browser—用来浏览局域网电脑的服务,但关了也不影响浏览!(就是提前把