[WPF学习资料] 窗口的生存周期
和所有类一样,窗口也有生存期,在第一次实例化窗口时生存期开始,然后就可以打开、激活和停用窗口,直到最终关闭窗口。
打开窗口
若要打开窗口,首先应创建一个窗口实例,这个功能由Application来完成:
1 <Application x:Class="XAMLDemo.App"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 StartupUri="Window1.xaml">
5 <Application.Resources>
6
7 </Application.Resources>
8 </Application>
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 StartupUri="Window1.xaml">
5 <Application.Resources>
6
7 </Application.Resources>
8 </Application>
上面的代码中StartupUri指示的是这个实例的XAML文档,也是这个应用程序的默认窗口类。当然也可以使用Startup属性,定义一个事件,代码如下:
1 <Application
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 x:Class="XAMLDemo.App"
5 Startup="app_Startup">
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 x:Class="XAMLDemo.App"
5 Startup="app_Startup">
6 </Application>
其中App必须继承Application类,并实现void app_Startup(object sender, StartupEventArgs e)在这里初始化一个类,并调用Show来显示窗口。
注:ShowDialog方法来模式打开窗口,含有隶属之意,如对话框等等。
在使用Show方法或在XAML的StartupUri打开的窗口与创建它的窗口之间没有隐式关系,如果想建立想MDI那样的窗口所属关系,可以使用Owner属性。
当第一次打开窗口时就会激活,则响应Activated事件,停止激活时将响应Deactivated事件。处理 Activated 和 Deactivated 的一个常见原因是为了启用和禁用只有在窗口活动时才能够运行的功能。例如,某些窗口显示的交互式内容需要持续的用户输入或需要用户时刻注意,包括游戏和视频播放机。
关闭窗口
响应closing和closed事件。
慢慢学习!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2007-01-09 [UML征程]UML图定义
2007-01-09 一个关于WebRequest的问题,希望大家能够讨论或指导一下小弟,谢谢