由于目前的Silverlight for Windows Phone 中不支持ChildWindow,所以当我们想要弹出一些窗口时,只能自己想办法了。
第一种方法是MessageBox,相当的简单,当然你也可以给它加上一些样式。
第二种方法是 查看Silverlight中 ChildWindow的定义方式(推荐使用ILSpy或者Reflector反编译)
第三种方法是使用Popup控件模拟ChildWindow
第四种方法是使用现有的类库,如有名的Coding4Fun,里面有很多很漂亮的Popup(有点类似第三种方法)
第五种方法: It's Up To U !
一、使用MessageBox
这种方式最为简单,提供的界面也最为简洁,使用方式如下:
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:这篇文章放在草稿箱中已经一月有余,今天抽空稍微整理下就发布了...
本文来自Alexis的博客,原文地址:http://www.cnblogs.com/alexis/archive/2011/06/11/2039748.html