源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

WPF弹出带蒙板的消息框

  • 时间:2021-09-25 06:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:WPF弹出带蒙板的消息框
先看看效果图  [img]http://files.jb51.net/file_images/article/201612/20161227161759922.gif?2016112716188[/img] [b]思路 [/b] 拿到父级窗体的内容,放入一个容器里,再在容器里放入一个半透明层.将整个容器赋给父级窗体的内容. [img]http://files.jb51.net/file_images/article/201612/20161227161718415.jpg?20161127161731[/img] 关闭时反向操作. [img]http://files.jb51.net/file_images/article/201612/20161227161740767.jpg?20161127161748[/img] [b]代码 [/b] 消息窗弹出时
/// <summary>
/// 弹出消息框
/// </summary>
/// <param name="message">消息</param>
/// <param name="owner">父级窗体</param>
public static void ShowDialog(string message, Window owner)
{
 //蒙板
 Grid layer = new Grid() { Background = new SolidColorBrush(Color.FromArgb(128, 0, 0, 0)) };
 //父级窗体原来的内容
 UIElement original = owner.Content as UIElement;
 owner.Content = null;
 //容器Grid
 Grid container = new Grid();
 container.Children.Add(original);//放入原来的内容
 container.Children.Add(layer);//在上面放一层蒙板
 //将装有原来内容和蒙板的容器赋给父级窗体
 owner.Content = container;

 //弹出消息框
 MessageBox box = new MessageBox() { Owner = owner };
 box.tbc_message.Text = message;
 box.ShowDialog();
}
消息框关闭时
/// <summary>
/// 窗体关闭事件
/// </summary>
private void Window_Closed(object sender, EventArgs e)
{
 //容器Grid
 Grid grid = this.Owner.Content as Grid;
 //父级窗体原来的内容
 UIElement original = VisualTreeHelper.GetChild(grid, 0) as UIElement;
 //将父级窗体原来的内容在容器Grid中移除
 grid.Children.Remove(original);
 //赋给父级窗体
 this.Owner.Content = original;
}
源码下载:[url=http://xiazai.jb51.net/201612/yuanma/MessageBox(jb51.net).rar]http://xiazai.jb51.net/201612/yuanma/MessageBox(jb51.net).rar[/url] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部