官方链接:https://msdn.microsoft.com/en-us/library/system.windows.window.statechanged(v=vs.110).aspx

1. Activated获得焦点事件 和 Deactivated失去焦点的事件:

Activated: 获得焦点 (首次打开软件时;由别的软件切换回当前软件时;点击当前软件在任务栏的按钮时)

Deactivated:失去焦点,与Activated正好相反,(Deactivated = de + activated)

使用方法有两种:

第一种是在XAML中声明,然后在后台书写执行代码:

<Window x:Class="WindowsFocusDemo20170117.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="" Width="" Activated="Window_Activated">

在后台xxx.cs文件中书写Window_Activated方法:

private void Window_Activated(object sender, EventArgs e)
{
System.Windows.MessageBox.Show("It is activating..."); }

第二种是都在后台书写代码:

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Activated += Window_Activated;
} private void Window_Activated(object sender, EventArgs e)
{
System.Windows.MessageBox.Show("It is activating..."); } }

失去焦点Deactivated是用法与上述一致。

2. 关闭中Closing事件 和 已完全关闭Closed事件

由名字可以看出,Closing事件会比Closed事件早执行,

触发Closing事件的条件:调用Close()方法;点击软件的关闭按钮;或者使用快捷键Alt+F4关闭

注意:

如果窗口存在子窗口,那么调用Close()是不会触发子窗口的Closing事件的,即子窗口不会关闭;

如果想在关闭时也关闭所有子窗口,请调用Application的Shutdown()方法,用法如下:

Application.Current.Shutdown();//整个应用都关闭了,当然所有窗口都会关闭

Closing事件可以理解为,Window窗体正准备关闭,此时还是可以取消关闭操作的,但Closed事件则是无力回天了;

当用户退出log off或者关闭电脑,Closing方法也不会触发,但Application.SessionEnding事件会触发

3.ContentRendered事件

4.StateChanged事件

窗体状态改变事件,窗体状态WindowState是枚举类型

public enum WindowState
{
Normal = ,
Minimized = ,
Maximized = ,
}

所以我们可以利用WindowState来判断窗体的状态来实现我们的需求

5.LocationChanged事件

6.DpiChanged事件

7.SourceInitialized事件

WPF中常用的Window事件的更多相关文章

  1. 在VS2005中设置WPF中自定义按钮的事件

    原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/17407 ...

  2. 原生JS中常用的Window和DOM对象操作汇总

    一.常用的Window对象操作 Window对象中又包含了document.history.location.Navigator和screen几个对象,每个对象又有自己的属性方法,这里window可以 ...

  3. 正确处理WPF中Slider值改变事件的方式

    最近在用WPF数据绑定重写一下播放器项目时遇到的关于Slider的问题,在窗体透明度调节和播放进度调节上用了Slider控件.调节窗体透明度我是 这么想的:将窗体的Opacity属性的值与Slider ...

  4. WPF中的多点触摸事件

    UIElement在WPF4下添加了很多支持多点触摸的事件,通过它们可以在硬件支持的情况下处理多点触摸,以下通过代码来说明通过处理这些事件,我们可以做些什么: 一.触摸相关的多种事件,跟鼠标事件是对应 ...

  5. javascript中常用的DOM事件

    //常用事件 onclick 点击事件 onmousedown 鼠标按下 onmousemove 鼠标移动 onmouseup 鼠标抬起 onmouseover 鼠标放上 onmouseout 鼠标放 ...

  6. WPF中常用控件(TreeView, ComboBox, DataGrid, ListView)使用MVVM模式绑定的demo

    之前几篇关于TreeView的博客中只是贴了源代码,并没有把整个项目上传到github.最近就想着把我常用的几个控件做成一个demo,这样也方便自己以后查看.本人也是WPF新手,但是我并没有打算就往这 ...

  7. WPF中常用控件的属性

    Source = new BitmapImage( new Uri( WangCaiConfig.GetCurrentDirectory() + imgStr, UriKind.RelativeOrA ...

  8. WPF中TextBox的PreviewMouseLeftButtonUp事件

    当使用TextBox的PreviewMouseLeftButtonUp事件时(例如,鼠标点击进入TextBox时,清除当前的输入内容),会很意外地发现,这时候不论怎么点击都无法点击到其他控件,焦点一直 ...

  9. WPF中的路由事件(转)

    出处:https://www.cnblogs.com/JerryWang1991/archive/2013/03/29/2981103.html 最近因为工作需要学习WPF方面的知识,因为以前只关注的 ...

随机推荐

  1. follow me

    IM InfoSphere Information Server for Data Integration Fundamentals Bootcamp 7月15日 5 北京 IM InfoSphere ...

  2. SQL SERVER 2008 附加数据库出现只读问题。

    问题描述 在附加数据库时出现的图片:   解决办法 步骤一,修改文件夹的 1.打开该数据库文件存放的目录或数据库文件的属性窗口,选择"属性"菜单->选择"安全&qu ...

  3. [ACM_水题] UVA 12502 Three Families [2人干3人的活后分钱,水]

      Three Families  Three families share a garden. They usually clean the garden together at the end o ...

  4. .NET Core 运行时标识符 (RID) 目录

    RID 是什么? RID 是运行时标识符的缩写. RID 用于标识其中将运行应用程序或资产(即程序集)的目标操作系统. 其外观类似如下:“ubuntu.14.04-x64”.“win7-x64”.“o ...

  5. Word发表blog格式模板

    一级标题(黑体,二号,加粗) 二级标题(黑体,三号,加粗) 正文(宋体+Times New Roman,小四) 注意事项: 序号列表"不连续"时,不得使用自动序号 连续(word连 ...

  6. Android四种数据存储方式

    一.SharedPreference数据存储篇 1.作用范围 (1).它是一种轻型的数据存储方式 (2).本质是基于XML文件存储key-value键值对数据 (3).通常用来存储一些简单的配置方式 ...

  7. MySQL中整型和字符串类型指定长度的含义

    引入: int(5)和char(5)或者varchar(5)中的数字指的是什么意思?是字节数,还是字符长度?为什么在整型中指定了int(5)却可以输入123456? 答案是后者,不管是整型还是字符串类 ...

  8. Ubuntu16.04安装使用Consul

    Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStack 等相比,Consul 的方 ...

  9. 高仿IOS下拉刷新的粘虫效果

    最近看需要做一款下拉刷新的效果,由于需要和Ios界面保持一致,所以这用安卓的方式实现了ios下的下拉刷新的粘虫效果. 最新的安卓手机版本的QQ也有这种类似的效果,就是拖动未读信息的那个红色圆圈,拖动近 ...

  10. iOS pods更新失败

    ――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an erro ...