Silverlight 之模态对话框的通用模拟
2008-10-24 11:46:53 来源:WEB开发网Silverlight 给我们带来了如同 Winform 一样便捷的开发方式,然而在桌面应用程序中一个非常重要的元素——模态对话框,却不具备。
而 ScottGu 的 Silverlight 教程中提供了一种简单的方法,可以模拟出类似模态对话框的显示。
其原理跟我们在 HTML 中实现模拟的模态对话框的方法类似,无非是动态创建一个半透明的层盖住整个页面背景,让背后的元素无法操作,然后在其上显示对话框内容即可。不过,在这篇教程中创建的子窗体必须在调用者页面的 XAML 中手工声明,假如我们需要根据情况调出 n 个不同的对话框呢?这样做显然不够灵活。本文的目标是基于这种场景提供一个简单的封装,以便更方便的实现主/从调用的场景。
例子的运行效果如下:
点击第一个按钮后,显示如下:
下面看看如何来实现这个效果。
首先,我们来定义一个模态对话框的基类,它是一个用户控件(UserControl):
using System;
using System.Windows.Controls;
namespace ModalPopupDemo
{
publicclass ModalDialog: UserControl
{
publicevent EventHandler Closed;
publicvoid Close()
{
if (Closed !=null)
{
Closed(this, EventArgs.Empty);
}
}
}
publicinterface IModalDialogOpener
{
void ShowModalDialog(ModalDialog dialog);
void CloseModalDialog();
}
}
Tags:Silverlight 模态 对话框
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››对话框模板RegexTest
- ››对话框打印预览及打印
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
更多精彩
赞助商链接