您的位置:首页 > 其它

【Silverlight】使用ChildWindow实现MessageBox

2009-08-02 21:58 405 查看
最近项目上需要实现一个询问提示消息框,但猛的发现人家Silverlight类库提供的MessageBox类只有简单的两个重载方法,百思不得其解,不知为什么不提供,没有办法只有自己做一个,其实不是很难办,因为Silverlight3以后提供了ChildWindow,下面是实现代码,希望对大家有用,请多多支持。

效果:调用方法
void btnTest_Click(object sender, RoutedEventArgs e)
{
MsgBox("$$$管理系统",
"您确定要发点大大大大大大大大财吗?",
MsgBoxCloseCallBack);
}

public void MsgBox(string title, string msg, MsgBoxWindow.MsgBoxCloseCallBack callBack)
{
MsgBox(title, msg,
MsgBoxWindow.MsgIcon.Information,
MsgBoxWindow.MsgBtns.YesNoCancel, callBack);
}

public void MsgBox(string title, string msg, MsgBoxWindow.MsgIcon icon, MsgBoxWindow.MsgBtns btns, MsgBoxWindow.MsgBoxCloseCallBack callBack)
{
MsgBoxWindow msgBox = new MsgBoxWindow();
msgBox.Show(title,
msg,
icon,
btns,
callBack);
}

void MsgBoxCloseCallBack(object sender, MsgBoxWindow.MsgBoxCloseCallBackArgs e)
{
MessageBox.Show(e.Result.ToString());
}
Demo及Source下载链接/Files/Hedonister/SilverlightMsgBox.zip

不过这个实现有个问题,在调用ChildWindow的show方法时,必须使用回调才能得到消息框的结果,使用起来很是别扭,如果有哪位同志能实现同步方式的,请与我联系,必有重奖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐