Application类-多窗口交互
我们在派生自Application类中出来放置响应应用程序事件的代码外,还可以放置一些完成其他任务的代码。
在此之前要知道:
如何获取应用程序的Application对象:
//App是一个继承自Application的类
App app= Application.Current;
比如:在多窗口之间交互时,我们为了在某个窗口中操作另一个窗口,有时会将一部分控件或字段的访问权限设置为公开。这样就增强了窗口之间的耦合性。随着窗体间交互的增强,我们将面临极大的困扰。
所以,我们可以在自定义应用程序类中保存窗口的引用,从而使一个窗口可以访问到另一个窗口:
- 在App.xaml.cs中定义一个泛型集合
- 当创建一个新窗口的时候,将新窗口对象加入到集合中
- 在代码的任意地方都可以通过遍历集合来操作窗口了
private List<Window> documents = new List<Window>();
public List<Window> Docunmets
{
get { return documents; }
set { documents = value; }
}
public App()
{
this.ShutdownMode = ShutdownMode.OnExplicitShutdown;
MainWindow window = new MainWindow();
this.documents.Add(window);
this.StartupUri = new Uri("MainWindow.xaml",UriKind.Relative);
}
在其它窗口中使用:
//获取应用程序的Application对象
Application application = Application.Current;
List<Window> windows= ((App)Application.Current).Docunmets;
for (int i = ; i < windows.Count; i++)
{
MessageBox.Show("已经激活的窗口有:"+windows[i].Title);
}
Application类-多窗口交互的更多相关文章
- 六,WPF的Application类
Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Ap ...
- WPF中的Application类。
原文:WPF中的Application类. Application对象用的名称空间是system.windows 1.手动创建Application对象步骤. 1.1).把项目中的App.Xaml文件 ...
- 【WPF学习】第二十七章 Application类的任务
上一章介绍了有关WPF应用程序中使用Application对象的方式,接下来看一下如何使用Application对象来处理一些更普通的情况,接下俩介绍如何初始化界面.如何处理命名行参数.如何处理支付窗 ...
- WPF教程七:通过App.xaml来了解Application类都能干什么
这个章节来了解Application类,我考虑了一晚上决定跳过控件类相关的学习,因为控件如果只是入门的话每个控件F12跳过去看一下属性.事件就能大致了解的差不多,而且控件比较多,每个都这样看一遍,感觉 ...
- WPF的Application类
本节主要介绍一下Application类的部分功能,我们首先来看一下如何使用Application类来加载一个窗口: 我们首先创建一个控制台程序,并引入相关的dll,然后修改Main()方法. [ST ...
- Android(java)学习笔记120:Android中的Application类用法
1.简介 如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型:而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是 ...
- Tkinter类之窗口部件类
Tkinter类之窗口部件类 Tkinter支持15个核心的窗口部件,这个15个核心窗口部件类列表如下:窗口部件及说明:Button:一个简单的按钮,用来执行一个命令或别的操作.Canvas:组织图形 ...
- WPF Application 类介绍以及怎样修改启动方式
因为想要修改wpf的启动方式,所以研究了下Application类,现把一些有用的属性与大家分享下: 属性: Current 获取当前 AppDomain的 Appl ...
- 创建一个自定义的Application类
由于每个应用程序必须创建一个Application对象,vs为开发人员提供了模板来减轻开发人员的重复工作.当使用vs创建一个WPF应用程序是,vs会自动创建一个app.xaml文件, <Appl ...
随机推荐
- Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识
摘要: 详解原型污染. 原文:Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识 作者:Lucas HC Fundebug经授权转载,版权归原作者所有. 可能有信息敏感的同学已 ...
- [日期工具分享][Shell]为特定命令依次传入顺序日期执行
[日期工具分享][Shell]为特定命令依次传入顺序日期执行 使用方式: <本脚本文件名(必要时需要全路径)> <要执行的命令所在的文件名> <开始日期> < ...
- [linux] shell脚本编程-统计日志文件中的设备号发通知邮件
1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|gr ...
- Linux---文件压缩与解压缩命令
压缩格式: zip.gz.bz2.tar .tar.gz.tar.bz2.tar.xz.xz.z 最常用的是.tar.gz格式和.tar.bz2格式 1.zip格式 命令 说明 zip 压缩文件名 ...
- 【买衣服】I'm looking for a jacket
核心句型: I 'm looking for a jacket. 我想买一件夹克. 场景对话 A: Are you looking for anything? 您想买什么吗? B: Yes. I'm ...
- 页面元素定位及操作--xpath
简介: 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. /xxx 页面输出 / ...
- zz斯坦福Jure Leskovec图表示学习:无监督和有监督方法
斯坦福Jure Leskovec图表示学习:无监督和有监督方法(附PPT下载) 2017 年 12 月 18 日 专知 专知内容组(编) 不要讲得太清楚 [导读]现实生活中的很多关系都是通过图的形式 ...
- linux的cpu使用率
linux 上一个核占满是 100%,双核机器占满整个 CPU 是 200%
- jsp转long类型为date,并且格式化
方式一.使用java脚本 <% Long time = (Long)request.getAttribute("longtime"); Date date=new Date( ...
- thymeleaf:在一个页面中引入其它的页面
这个在jsp中很容易实现,但是springBoot不推荐使用jsp,建议使用thymeleaf,下面是在thymeleaf中引入界面的方法 1.修改配置文件 spring: mvc: static-p ...