DialogHost 关闭对话框

<Window x:Class="DialogHost.ClosingConfirmation.CodeBehind.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<materialDesign:DialogHost> </materialDesign:DialogHost>
</Window>
protected override async void OnClosing(CancelEventArgs e)
{
base.OnClosing(e); //If the user has elected to allow the close, simply let the closing event happen.
if (_AllowClose) return; //NB: Because we are making an async call we need to cancel the closing event
e.Cancel = true; //we are already showing the dialog, ignore
if (_ShowingDialog) return; TextBlock txt1 = new TextBlock();
txt1.HorizontalAlignment = HorizontalAlignment.Center;
txt1.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFF53B3B"));
txt1.Margin = new Thickness();
txt1.TextWrapping = TextWrapping.WrapWithOverflow;
txt1.FontSize = ;
txt1.Text = "您确认要退出系统吗?"; Button btn1 = new Button();
Style style = Application.Current.FindResource("MaterialDesignFlatButton") as Style;
btn1.Style = style;
btn1.Width = ;
btn1.Height = ;
btn1.Margin = new Thickness();
btn1.Command = MaterialDesignThemes.Wpf.DialogHost.CloseDialogCommand;
btn1.CommandParameter = true;
btn1.Content = "是"; Button btn2 = new Button();
Style style2 = Application.Current.FindResource("MaterialDesignFlatButton") as Style;
btn2.Style = style2;
btn2.Width = ;
btn2.Height = ;
btn2.Margin = new Thickness();
btn2.Command = MaterialDesignThemes.Wpf.DialogHost.CloseDialogCommand;
btn2.CommandParameter = false;
btn2.Content = "否"; DockPanel dck = new DockPanel();
dck.Children.Add(btn1);
dck.Children.Add(btn2); StackPanel stk = new StackPanel();
stk.Width = ;
stk.Children.Add(txt1);
stk.Children.Add(dck); //Set flag indicating that the dialog is being shown
_ShowingDialog = true;
object result = await MaterialDesignThemes.Wpf.DialogHost.Show(stk);
_ShowingDialog = false;
//The result returned will come form the button's CommandParameter.
//If the user clicked "Yes" set the _AllowClose flag, and re-trigger the window Close.
if (result is bool boolResult && boolResult)
{
_AllowClose = true;
Close();
}
}
DialogHost 关闭对话框的更多相关文章
- 20151124001 关闭C#主窗体弹出是否关闭对话框
关闭C#主窗体弹出是否关闭对话框 private void Frm_Main_FormClosing(object sender, FormClosingEventArgs e) { ...
- JQuery Dialog 禁用X按钮关闭对话框,-摘自网络
JQuery Dialog 禁用X按钮关闭对话框,禁用ESC键关闭代码如下:$("#div1").dialog({ closeOnEscape: false, open: ...
- 关闭C#主窗体弹出是否关闭对话框
在开发系统时,常常有这样一个问题,就是当关闭主窗体,也即退出系统时,如果想提示是否关闭,以免误操作,可以在主窗体的Main_FormClosing事件中添加一个对话框,代码如下: private vo ...
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
原文出处:博主宇宙的极客http://www.cnblogs.com/nokiaguy/archive/2010/07/27/1786482.html 众所周知,AlertDialog类用于显示对话框 ...
- mui 对话框 点击按钮不关闭对话框的办法
目前版本的 mui.js 点击对话框的按钮只能关闭对话框 做如下修改 点击按钮后return false 即可
- Android——点击对话框上按钮不关闭对话框
有时候我没可能需要在点击按钮进行一些检测,但是并不想关闭次对话框(系统默认点击任何一个按钮则关闭对话框),处理方法如下:在点击事件下添加如下代码: try { Field field = dialog ...
- vue + ElementUI 关闭对话框清空验证,清除form表单
前面跟大家提到过 elementUI验证的问题,那么今天就来看看 点击对话框和关闭按钮 怎么清空验证,清空form表单,避免二次点击还会有 验证错误的提示 1.首先在你的对话框 取消按钮 加一个cli ...
- Android——点击对话框上button不关闭对话框
有时候我没可能须要在点击button进行一些检測.可是并不想关闭次对话框(系统默认点击不论什么一个button则关闭对话框),处理方法例如以下:在点击事件下加入例如以下代码: try { Field ...
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
http://blog.csdn.net/xgx198831/article/details/6713651 MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法 或许还有其它更好的办法,但下 ...
随机推荐
- IOS UISwitch 控件
转自:http://my.oschina.net/wolx/blog/396680 一 UISwitch 简介 二 UISwitch 创建 三设置选中状态 四 添加监听 五 测试代码 5.1 代码 5 ...
- [TimLinux] Django 中间件
1. 定义 中间件是一个钩子框架,深入到django的请求/响应处理过程中.这是一个轻量.底层插件系统,目的是全局修改django的输入或输出.每一个中间件组件都是用来处理特定的功能.例如django ...
- UVA11324 The Lagest Lique(SCC缩点+DP)
Given a directed graph G, con- sider the following transformation. First, create a new graph T(G) to ...
- Light oj 1140 How Many Zeroes?
Jimmy writes down the decimal representations of all natural numbers between and including m and n, ...
- 强化学习环境OpenAi搭建,从虚拟机到Gym、Mujoco和mujoco-py的完整安装
平时不怎么写博客,这次是因为环境的配置花费了我大概一个星期的时间.所以简单的记录一下搭建的整个过程,其中有些部分我直接推荐别人的博客的基本教程,都是我亲自尝试过成功的.同时,也希望这篇博客可以帮到您. ...
- git避免每次输入密码
生成公匙 在仓库所在目录输入 ssh-keygen -t rsa -C "yourname@sina.com" 其中yourname@sina.com是注册邮箱.可以在%HOME% ...
- linux—ln
1. 软连接:不可删除源文件,删除源文件导致链接文件找不到,出现红色闪烁. 2. 硬链接: 源文件删除后,链接文件可以正常打开,链接前后的文件inode号相同,硬链接只能针对文件做链接,,不能针 ...
- processing-python-泡泡龙
挂一个无耻搬运工:码农教程. 真的打心底里瞧不起为了蹭热度全网照抄代码的某些人. 再次此声明:代码不是python语言,求某些搬运工不要到处搬运害人. def setup(): size(600,60 ...
- Spring boot 集成 阿里 Mqtt
因为公司业务需求,需要接入 阿里Mqtt,自己基于Spring写了一个小demo,记录下来,已备以后需要. 第一步 创建一个实体bean用来装载 MqttClient private MqttClie ...
- Redis数据类型和操作
<"Java技术员"成长手册>,包含框架.存储.搜索.优化.分布式等必备知识,都收集在GitHub JavaEgg ,N线互联网开发必备技能兵器谱,欢迎指导 Redis ...