方便自己以后用,原文:https://blog.csdn.net/lwwl12/article/details/78472235

直接上代码

  1. public partial class BaseWindow : Window
  2. {
  3. public BaseWindow() : base()
  4. {
  5. this.Closed += Window_Closed;
  6. this.WindowStartupLocation = WindowStartupLocation.CenterOwner;
  7. this.ResizeMode = ResizeMode.NoResize;
  8. }
  9.  
  10. public void SyncComplete()
  11. {
  12. this.Dispatcher.Invoke(() =>
  13. {
  14. MessageBox.Show(this, "操作完成!", "提示");
  15. });
  16. }
  17.  
  18. private void Window_Closed(object sender, EventArgs e)
  19. {
  20. //容器Grid
  21. Grid grid = this.Owner.Content as Grid;
  22. //父级窗体原来的内容
  23. UIElement original = VisualTreeHelper.GetChild(grid, ) as UIElement;
  24. //将父级窗体原来的内容在容器Grid中移除
  25. grid.Children.Remove(original);
  26. //赋给父级窗体
  27. this.Owner.Content = original;
  28. }
  29.  
  30. public bool? ShowDialog(Window owner)
  31. {
  32. //蒙板
  33. Grid layer = new Grid() { Background = new SolidColorBrush(Color.FromArgb(, , , )) };
  34. //父级窗体原来的内容
  35. UIElement original = owner.Content as UIElement;
  36. owner.Content = null;
  37. //容器Grid
  38. Grid container = new Grid();
  39. container.Children.Add(original);//放入原来的内容
  40. container.Children.Add(layer);//在上面放一层蒙板
  41. //将装有原来内容和蒙板的容器赋给父级窗体
  42. owner.Content = container;
  43. this.Owner = owner;
  44. return this.ShowDialog();
  45. }
  46. }

xaml

  1. <local:BaseWindow x:Class="Modules.wnd_TimeSync"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:Modules"
  7. mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True" Background="Transparent"
  8. Title="wnd_TimeSync" Height="20" Width="220" Closed="Window_Closed" >
  9. <StackPanel>
  10. <ProgressBar Name="pb" Height="20" Width="200" Maximum="100"></ProgressBar>
  11. </StackPanel>
  12. </local:BaseWindow>

使用方法

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15.  
  16. namespace Modules
  17. {
  18. /// <summary>
  19. /// wnd_TimeSync.xaml 的交互逻辑
  20. /// </summary>
  21. public partial class wnd_TimeSync : BaseWindow
  22. {
  23. public wnd_TimeSync()
  24. {
  25. InitializeComponent();
  26. }
  27.  
  28. public static void ShowDialog(Window owner)
  29. {
  30. //弹出消息框
  31. wnd_TimeSync box = new wnd_TimeSync();
  32. box.ShowDialog(owner);
  33. }
  34. }
  35. }

wpf遮罩~~~(搬运过来的)的更多相关文章

  1. C# WPF遮罩对话框(Popup Message Overlay/ Dialog Host)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  2. WPF loading遮罩层 LoadingMask

    原文:WPF loading遮罩层 LoadingMask 大家可能很纠结在异步query数据的时候想在wpf程序中显示一个loading的遮罩吧 今天就为大家介绍下遮罩的制作 源码下载 点击此处 先 ...

  3. 【WPF】BusyIndicator做Loading遮罩层

    百度了一下,粗略看了几个国内野人的做法,花了时间看下去感觉不太好用(比如有Loading居然只是作为窗体的一个局部控件的,没法全屏遮罩,那要你有何用?),于是谷歌找轮子去. 好用的轮子:http:// ...

  4. WPF 通过透明度遮罩和变换制作倒影效果

      倒影效果 代码 <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http:/ ...

  5. “WPF老矣,尚能饭否”—且说说WPF今生未来(上):担心

    近日微软公布了最新的WPF路线图,一片热议:对于老牌控件提供商葡萄城来说,这是WPF系列控件一个重要的机遇,因此,Spread Studio for WPF产品做了一次重要更新,并随着Spread S ...

  6. [WPF系列]Adorner应用-自定义控件ImageHotSpot

    引言 项目中有时需要在图片上标注热区,在HTML中有<area>标签,但在WPF中目前还没现成的控件来实现这这一功能.至于图片热区功能有道词典的[图解词典]是个不错的例子,如图1: 图 1 ...

  7. WPF的二维绘图(一)——DrawingContext

    DrawingContext比较类似WinForm中的Graphics 类,是基础的绘图对象,用于绘制各种图形,它主要API有如下几种: 绘图API 绘图API一般形为DrawingXXX系列,常用的 ...

  8. 一个简单WPF登陆界面,包含记住密码,自动登录等功能,简洁美观

    简介:这是一个自己以前用WPF设计的登陆界面,属于一个实验性的界面窗体,如果用于产品还很有不足.但也是有一点学习价值.后台代码略有复杂,但基本上都有注释 分类,略有代码经验的一般都能看懂. 登陆界面外 ...

  9. WPF 截屏软件开发

    最近由于工程需要开始研发基于Windows的自动录屏软件,很多细节很多功能需要处理,毕竟一个完美的录屏软件不是你随随便便就可以写出来的.首先参考了大部分的录屏软件,在研发的过程中遇到了很多的问题:比如 ...

随机推荐

  1. 阿里云区块链共创会:BaaS正式商业化 广邀合作伙伴共建生态

    摘要: 阿里云宣布区块链服务Hyperledger Fabric版正式商业化,并发布生态合作伙伴计划. 2019年3月29日,阿里云区块链于深圳召开正式商业化共创会,宣布区块链服务Hyperledge ...

  2. MUI - myStorage在ios safari无痕浏览模式下的解决方案

    myStorage在ios safari无痕浏览模式下的解决方案 今天看到了这个帖子LocalStorage 在 Private Browsing 下的一个限制, 吓尿了,如果用户开启了无痕浏览,ap ...

  3. Hibernate中的配置对象

    数据库连接:由 Hibernate 支持的一个或多个配置文件处理.这些文件是 hibernate.properties 和 hibernate.cfg.xml. 类映射设置:这个组件创造了 Java ...

  4. GCD使用经验与技巧浅谈

    前言 GCD(Grand Central Dispatch)可以说是Mac.iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧. dispatch_once_t必须是全局或stati ...

  5. Vue电商后台管理系统项目第2天-首页添加表格动态渲染数据&分页

    0x01.使用Github学习的姿势 基于昨天的内容,今天的内容需要添加几个单文件组件,路由文件也需要做相应的增加,今天重点记录使用Element-UI中的表格组件实现数据动态渲染的实现流程和分页功能 ...

  6. 修改UISearchBar背景

    转载:http://blog.csdn.net/favormm/archive/2010/11/30/6045463.aspx UISearchBar是由两个subView组成的,一个是UISearc ...

  7. MySQL数据库优化(五)——MySQL查询优化

    http://blog.csdn.net/daybreak1209/article/details/51638187 一.mysql查询类型(默认查询出所有数据列)1.内连接       默认多表关联 ...

  8. 唯一索引与非唯一索引区别(UNIQUE INDEX, NON-UNIQUE INDEX)

    索引是我们经常使用的一种数据库搜索优化手段.适当的业务操作场景使用适当的索引方案可以显著的提升系统整体性能和用户体验.在Oracle中,索引有包括很多类型.不同类型的索引适应不同的系统环境和访问场景. ...

  9. 最优化方法系列:Adam+SGD-AMSGrad 重点

    https://blog.csdn.net/wishchin/article/details/80567558 自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型 ...

  10. [Pytorch]基于混和精度的模型加速

    这篇博客是在pytorch中基于apex使用混合精度加速的一个偏工程的描述,原理层面的解释并不是这篇博客的目的,不过在参考部分提供了非常有价值的资料,可以进一步研究. 一个关键原则:“仅仅在权重更新的 ...