Windows Phone 中的弹出窗口

由于目前的Silverlight for Windows Phone 中不支持ChildWindow,所以当我们想要弹出一些窗口时,只能自己想办法了。

第一种方法是MessageBox,相当的简单,当然你也可以给它加上一些样式。

第二种方法是 查看Silverlight中 ChildWindow的定义方式(推荐使用ILSpy或者Reflector反编译)

第三种方法是使用Popup控件模拟ChildWindow

第四种方法是使用现有的类库,如有名的Coding4Fun,里面有很多很漂亮的Popup(有点类似第三种方法) 

第五种方法: It's Up To U !

一、使用MessageBox

 这种方式最为简单,提供的界面也最为简洁,使用方式如下:

 MessageBox.Show("With Caption", "Caption", MessageBoxButton.OKCancel);

MessageBox.Show("Hello Word");

 

 

二、使用自定义用户控件作为弹出窗口

 参考 http://blog.toetapz.com/2010/11/02/how-to-use-popup-or-childwindow-in-windows-phone-to-display-buy-now-screen-2/ 

http://wildermuth.com/2010/08/17/Using_ChildWindow_in_Windows_Phone_7_Projects  

三、使用Popup

原理在页面中放置一个Popup,将另一个页面放置其中,参考http://www.cnblogs.com/salam/archive/2010/12/27/1917919.html  

四、使用Coding4Fun控件

 CodePlex有一个相当不错的WP7控件库,Coding4Fun,提供了许多消息提示的控件:

关于提示框、消息提示框、Toast提示框、圆形按钮、 颜色选择器、内存计数器等。如何在我们的WP7项目中使用这个控件呢,很简单,直接将dll引用到我们的项目中,就能够使用了。

 

介绍个使用Coding4Fun控制的时候,如果不知道这个控件哪些可用,可以使用调试的方法,生成一个该对象的实例,如何查看其属性,如下图的AboutPrompt 和PasswordInputPrompt

 

 

 有上图可以看到,About消息框可以设置的属性有Body(内容)、Footor、Title等。

Coding4Fun除了提供消息框外,还提供了些常见的转换器(Converters) 、还有TextBox Binding帮助类(用于输入文本框的绑定使用)

五、It's Up To U ! 

 

PS:这篇文章放在草稿箱中已经一月有余,今天抽空稍微整理下就发布了... 

posted @ 2011-06-11 20:59  Alexis  阅读(4531)  评论(2编辑  收藏  举报