showdialog wpf 如何关闭_使用ShowDialog()阻止所有其他Windows的WPF模态窗口
一个选项是启动不想要在不同线程上对话框影响的窗口。这可能会导致您的应用程序出现其他问题,但如果这些窗口确实封装了不同的工作流程,那可能不是问题。这是我写的一些示例代码,以验证它是否有效:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="{Binding Identifier}" Height="150" Width="150">
using System.ComponentModel;
using System.Threading;
using System.Windows;
namespace ModalSample
{
///
/// Interaction logic for MyWindow.xaml
///
public partial class MyWindow : INotifyPropertyChanged
{
public MyWindow()
{
InitializeComponent();
DataContext = this;
}
private int child = 1;
private string mIdentifier = "Root";
public string Identifier
{
get { return mIdentifier; }
set
{
if (mIdentifier == value) return;
mIdentifier = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("Identifier"));
}
}
private void OpenNormal_Click(object sender, RoutedEventArgs e)
{
var window = new MyWindow {Identifier = Identifier + "-N" + child++};
window.Show();
}
private void OpenIndependent_Click(object sender, RoutedEventArgs e)
{
var thread = new Thread(() =>
{
var window = new MyWindow {Identifier = Identifier + "-I" + child++};
window.Show();
window.Closed += (sender2, e2) => window.Dispatcher.InvokeShutdown();
System.Windows.Threading.Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
private void OpenModal_Click(object sender, RoutedEventArgs e)
{
var window = new MyWindow { Identifier = Identifier + "-M" + child++ };
window.ShowDialog();
}
public event PropertyChangedEventHandler PropertyChanged;
}
}
我采用this blog post在不同的线程上运行WPF窗口。
showdialog wpf 如何关闭_使用ShowDialog()阻止所有其他Windows的WPF模态窗口相关推荐
- showdialog wpf 如何关闭_WPF用ShowDialog()弹出窗体时控制该窗体的显示位置,并传值回父窗体...
原文:http://blog.csdn.net/kiss0622/article/details/5852153 方法一: 1.父窗口代码 Window1.xaml.cs private void B ...
- 瑞士表商 Swatch 关闭 IT 系统,阻止网络攻击
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 上周末,瑞士表商 Swatch 集团发现了针对其系统的网络攻击活动,随后关闭 IT 系统以阻止. Swatch 集团因生产多姿多彩的手 ...
- wpf 开源框架_.NET Core跨平台基础框架:10 篇热文汇总
(给DotNet加星标,提升.Net技能) 本文精选了DotNet 2019年12月份的10篇热门文章.其中有技术分享.技术资源. 注:以下文章,点击标题即可阅读 <C#异步编程 > Ta ...
- listbox wpf 取消边框_停止使用箭头C#WPF导航列表框(Stop listbox from navigating with arrows C# WPF)...
停止使用箭头C#WPF导航列表框(Stop listbox from navigating with arrows C# WPF) 我有一个画布,可以使用箭头键移动元素,但是当我在列表框中选择当前在画 ...
- 二级菜单打开一个时其他关闭_简介——菜单和工具栏
1.1 ChemDraw用户界面(ChemDraw User Interface) 默认情况下,用户界面由常用工具栏,主菜单和文档状态栏组成.用户界面如下图所示: ChemDraw用户界面 1.2 菜 ...
- 未能初始化appscan应用程序现在将关闭_教你如何将电脑瞬间关掉
关闭一台电脑的最简单方法就是按电源键,或者点击操作系统(如Windows)的关机按钮,当触发该操作时,操作系统将会将自己关闭,然后断掉主板的电源.更暴力一点的就是长按电源键,甚至拔电源. 本文将介绍一 ...
- 启动之后自己关闭_如何关闭Mac开机总是要输入密码?
我们给自己的MAC设置了登录密码之后,每次登录系统都要输入密码,这样很麻烦,怎么才能不用密码直接登录MAC呢?今天小编就帮大家解决这个问题. 如果您是管理员,则可以指定所有其他用户看到的登录窗口外观. ...
- wpf mvvm框架_[Windows] 在 Microsoft Docs 网站中挖掘 MVVM 的各种学习资源
最近写了一些 MVVM 框架的文章,翻了一些 Microsoft Docs 的文档,顺便就对 MVVM 本身来了兴致,想看看更多当年相关的文档.在 MVVM 出现后十多年,我在不同的场合见到过多种 M ...
- window10鼠标加速怎么关_鼠标加速怎么关闭_电脑鼠标加速如何关闭
2019-09-27 09:17:11 对于游戏玩家来讲,鼠标灵敏度是非常关键的,如果太慢会影响游戏进程,拖累队友.有些用户为了加快Mac系统鼠标反应速度开启加速功能,设置之后发现并不适合自己,那么M ...
最新文章
- 另外一些MySQL优化措施
- java 重定向和转发 的区别
- 数字图像处理及MATLAB实现实验五——图像增强
- win10连接蓝牙耳机_苹果手机蓝牙耳机无法连接怎么办?
- JavaScript字符串转数字的5种方法及其陷阱
- linux 误删除mysql表能恢复吗,Linux中误删除数据文件和归档日志的恢复方法
- warning:1071 (42000) Specified key was too long;max key length is 1000 bytes
- 那个即刻,他回来啦!
- 高通android logo,高通平台android kernel 开机logo展示和传统linux一样
- 免费车型车系品牌api
- spark学习之SparkStreaming
- 数字信号中的各种频率
- 磁盘分区被格式化了,格式化之前的文件恢复方法
- xss绕过字符过滤_xss绕过过滤之方法
- 计算机启动后无法进入系统怎么办,开机进不了windows系统怎么办
- 质量控制新七工具:亲和图、过程决策程序图、关联图、树形图、优先矩阵、活动网络图和矩阵图
- 你长痘吗?留下痘印吗?民间秘方
- No provider available from registry localhost:9090 for service
- 【工具】目前几种常见的线上接口文档管理平台的比较
- 接入第三方|接入声网灵动课堂 流程图
热门文章
- java毕业设计智能医疗推荐系统Mybatis+系统+数据库+调试部署
- 【C++】关于C++中使用namespace的解释以及cstdio和stdio.h的区别
- 百度云自定义分享密码
- E. Buy and Delete
- iOS-UI之弧形文字
- canal 实现mysql 数据实时同步
- 证监会:美的集团吸收合并小天鹅获无条件通过
- 自媒体平台横行的时代下,企业现在有必要做网站吗?
- 看各国首脑夸张防卫!(组图)
- JQuery删除移除节点元素指定id或者指定class