Silverlight 之模态对话框的通用模拟
2008-10-24 11:46:53 来源:WEB开发网这里 ShowModalDialog 和 CloseModalDialog 的实现相当简单,分别就是附加/移除相关的子窗体控件实例,并且显示/隐藏占位控件。
页面中除了 Login 窗体外,还调用了另一个简单的用户控件 Form2,调用方式是非常类似的。Form2 的代码如下:
Form2.xaml:
<local:ModalDialog x:Class="ModalPopupDemo.Form2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ModalPopupDemo">
<Grid>
<Button x:Name="btnClose" Width="300" Height="200" Content="Close Me!"
Click="btnClose_Click" FontSize="40"/>
</Grid>
</local:ModalDialog>
Form2.xaml.cs:
using System.Windows;
namespace ModalPopupDemo
{
publicpartialclass Form2 : ModalDialog
{
public Form2()
{
InitializeComponent();
}
privatevoid btnClose_Click(object sender, RoutedEventArgs e)
{
Close();
}
}
}
弹出 Form2 的运行效果如下:
至此,我们就实现了一个还算灵活的模态对话框弹出机制。这个好处在于,当我们要创建新的模态对话框时,在它的 Xaml 中只需关注其自身的显示逻辑即可,而不用关心如何显示到父窗体中,如何设置屏蔽层等细节问题,做到了一定程度的解耦。
注:本文提供了一个简单的实现方式,如果采用创建自定义控件等方法,也许能做到更好的封装,这个留待后续研究和探讨。
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
更多精彩
赞助商链接