Silverlight弹出对话框的几种方法

本文介绍了在SL中常用的五种对话框及其制作方法,包括MessageBox、Window.Alert、Popup、ChildWindow及利用控件的Visibility实现对话框效果。每种对话框都有其优缺点,适合不同的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在SL中经常会用到一些对话框,这里介绍几种常用的对话框及制作方法。

 

1. 利用MessageBox显示对话框

dialog_1

优点:简单,只要调用MessageBox.Show方法就可以显示出来。

缺点:单调,不够友好,只能用于一般的信息提示。

说明:没什么好说的。:)

代码:

 

2. 利用Window.Alert或JS显示对话框

dialog_2

优点:和MessageBox一样,简单易用,还可以同JS进行交互,显示Confirm对话框等。

缺点:也和MessageBox一样,不够专业。 :)

说明:其实是借助JS来显示对话框,这种用法的优势,还是在于同JS的交互,如果只是显示Message,不如用MessageBox来的方便。

代码:

 

3. 利用Popup显示自制对话框

dialog_3

优点:自定义,可以同SL的APP结合的非常好。

缺点:稍显复杂,不利于分开维护

说明:利用Popup来显示对画框,这里使用代码的方式动态创建一个Border控件,并通过改变Popup.IsOpen来显示和隐藏对话框。

代码:

 

4. 使用ChildWindow作为对话框

dialog_4

优点:简单易用,效果很好,可以自定义,在单独的文件中利用维护。

缺点:需要设计合理的和重复利用的ChildWindow,用于减少文件的增加。

说明:推荐使用的对话框模式,无论是显示效果,还是开发过程,以及后期的维护,都是很有优势的一种模式。这里没有什么要说的,新建一个ChildWindow,增加一个TextBlock用于显示Message。这里就不把ChildWindow的代码贴出来了,大家可以下载源代码。

代码:

 

5. 利用控件的Visibility达到对话框的效果

这里就不贴图了,和Popup的那个图一样。

优点:支持大部分控件。

缺点:不太好用,应该算是一种Workaround。

说明:这种做法在SL2的时候很常用,在SL3后,有了ChildWindow,基本就废弃了吧。不过,如果在一个Canvas中做一个可以随意的Dialog,还是一个很不错的选择。这里使用Popup中创建的Border,并加载到Grid中。

转载于:https://www.cnblogs.com/chhuic/archive/2010/09/26/1836205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值