这节,加入弹出对话框

弹出对话框

这个appBar button能起作用类额 ,他处理的源代码是直接放在Click event里面中。大多数的buttons操作更需要一些额外的用户体验,因此我们使用flyOut控件。

当用户点击了appBar按钮以后,这个弹出窗口就会出现,给予用户一定提示,当用户再度点击这个控件以后,这个东西就会消失。这有点像什么——像winFrom弹出的对话框,但他不是一个窗口,或者一个页面,他只是依附于这个窗口的某个层。这样弹出的窗口的,实现js中操作是使用了flyOut控件,在xaml与C#实现一模一样的效果,需要Popup控件,并且在相应的cs文件中进行了编码使其Popup控件定位。由于,我所运用的win8消费者预览版,我真希望在win8的正式版中能够屏蔽这样的差异,这样我不需要对popup控件进行定位了。

这里我说说项目以外Popup的问题。

Popup是一个神奇的东西,可以很容易的解决一些复杂问题。它将控件的布局扩展到了第三维,可以将其Child中的内容显示在当前界面之上。Popup位于当前Silverlight可见控件区域之上,即使你为某个控件设置了一个比Popuo要大的Canvas.ZIndex值也不会显示在Popup之上,不过Popup之间可以用Canvas.ZIndex区分哪个Popup显示在上面。还有一点,Popup的Child中的事件冒泡已经自己处理了,就好像Popup与下面的所有控件没有关系一样。

 在实际应用中,有一个约定俗成的操作,就是弹出一个Popup后在Popup可见区域外的任意地方点击,Popup会自动关闭,而Popup本身是没有实现这个功能的。具体如何实现,这方案也有很多,下面是比较常用的方法:在要显示的内容下面放一个背景透明且覆盖整个Silverlight可见区域的Canvas,在Canvas的点击事件处理方法中关闭Popup。之所以选择Canvas是因为在布局方式中只有Canvas在背景透明时可以侦测到点击事件

1   <!--Popup中有了Canvas 控件,Rectangle 控件-->
2 <Popup x:Name=“popUp” Opened=“popUp_Opened”>
3   <Canvas x:Name=“overLay” Background=“Transparent” MouseLeftButtonDown=“overLay_MouseLeftButtonDown”>
4    <Rectangle x:Name=“popContent” Width=“200″ Height=“200″ Fill=“AliceBlue”/>
5   </Canvas>
6 </Popup>

哝——对popup有了一个简单介绍。

转载于:https://www.cnblogs.com/manuosex/archive/2012/12/05/2802970.html

手把手玩转win8开发系列课程(18)相关推荐

  1. 手把手玩转win8开发系列课程(2)

    对win8开发,上一节我们对win8进行了简单的介绍,这一节我们来瞧一瞧他的开发环境搭建. 前奏. 这里所讲的win8开发,主要是指Windows8 app store 上开发,及metro ui或叫 ...

  2. 手把手玩转win8开发系列课程(14)

    这节的议程就是--添加appbar appbar是出现在哪儿了,出现在屏幕的底部.他能使用户能用手势或者使用鼠标操作程序.metro UI 重点是在主要的控件使用许多控件,使其用户使用win8电脑更加 ...

  3. 手把手玩转win8开发系列课程(11)

    运行程序 这节的议程,我觉得很简单--运行程序 在vs界面布局的页面都是静态,真正让项目运行起来才是动态的了.只有使其运行起来,这样xaml与C#合二为一,以一个真正的程序显示出来.你可以选择调试菜单 ...

  4. 手把手玩转win8开发系列课程(22)

    今天的议程,有三个①展示弹出对话框②创建更复杂的控件③并为复杂的控件赋值 (1)展示弹出对话框 上节,我们已经写好了这个对话框,并且已经引入了项目中去了,那我们就有必要展示了. 当用户点击了这个按钮以 ...

  5. 基于WebMatrix的轻量级Web开发系列课程

    基于WebMatrix的轻量级Web开发系列课程(10): WebMatrix与ASP.NET MVC WebMatrix除了提供了默认的编程模型以外,也对ASP.NET MVC做出了很好的支持,但是 ...

  6. 【预告】1月6日下午14:30 CLR开发系列课程(3):COM Interop基础 (Level 300)

    1月6日下午14:30我将在MSDN中文网络广播中主讲.NET中COM和COM Interop的相关基础知识.有兴趣的朋友可以通过下面的链接登记并收听此次网络广播:  公共语言运行库(CLR)开发系列 ...

  7. 云开发系列课程让你从入门到精通快速上手Serverless和云开发技术

    简介:云开发系列课程主要介绍了从入门到精通快速上手Serverless和云开发技术.学习内容涵盖云开发协同.云函数.云数据库.多媒体托管.前后端一体化框架等Serverless Web开发必备知识.希 ...

  8. 预告:公共语言运行库(CLR)开发系列课程(4):COM Interop进阶

    这次我主要讲RCW的原理,生命周期,引用计数,套间,System.__ComObject,事件调用原理等内容.CCW由于时间限制就不涉及了,毕竟大家还是以使用RCW为主. 感兴趣的朋友可以在下面注册: ...

  9. 浅析云平台底层架构 进行云原生应用开发 系列课程-薛海涛-专题视频课程

    浅析云平台底层架构 进行云原生应用开发 系列课程-2892人已学习 课程介绍         如何依托Bluemix的PaaS服务,开发云原生应用,并深入的讲解cloudfoundry app生命周期 ...

最新文章

  1. .net core vs java_VS Code 1.19.3调试.net core 2并始终满足“只能调试64位进程”
  2. Android监听ScrollView滑动到顶端和底部
  3. tmpfs 内存文件系统
  4. 053_Result结果
  5. 微软SQL 报表服务的研究
  6. LeetCode 627. 交换工资
  7. Linux 下定时文件crontab配置
  8. python读取配置文件-configparser
  9. chrome配置文件校验初始化隐含參数的逆向
  10. bat批量剪切命令_批量处理文件.bat命令手册
  11. web 前端学习之制作网页视频
  12. 写论文:证明非线性系统的稳定性
  13. C语言选择题(含答案)
  14. 一个检查输入内容的 AppCompatEditText 。
  15. MySQL计算天数差
  16. 【冬瓜哥归来】传统存储老矣,新兴存储能当大任否?
  17. memory parity error
  18. 一句话+一张图——说清楚Aprioir关联规则算法
  19. 责任心与态度比技术更重要
  20. 正则表达式——同时验证座机号和手机号

热门文章

  1. duilib进阶教程 -- 在MFC中使用duilib (1)
  2. 域名抢注之乱象:投资的暴利,管理的漏洞
  3. SQL Server几个常用Date函数(二)
  4. Unix 时间表示方式与windows时间表示方式相互转换的解决办法
  5. matlab教程lqg函数与收敛速度,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...
  6. 请求https错误: unable to find valid certification
  7. leetcode算法题--链表组件
  8. 广西大学计算机科学与技术中法,广西大学
  9. 在asp.net2.0下配置FCKeditor
  10. JauntVR中文版登陆小米商店,首波内容有《五十度黑》