您的位置:首页 > 其它

WPF中的窗口的生命周期

2016-03-06 21:37 232 查看
WPF中所有窗口的基类型都是System.Windows.Window。Window通常用于SDI窗口和对话框。Window在应用程序中除了一个设计用于托管顶级内容的控件外,就别无他物了。典型的,可以混合使用标记和代码来定义一个窗口。代码如下:

在xaml页:

<Window x:Class="WPFApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="This is a Window" Height="350" Width="525">
</Window>


在cs页面中:

namespace WPFApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}


运行这段代码将产生一个最原始的窗口:



注意:这样一个无趣的窗口的生命周期也有好几个阶段:

构造器被调用

Window.Initialized事件被触发

Window.Activated事件被触发

Window.Loaded事件被触发

Window.ContentRendered事件被触发

用户和窗口进行交互

Window.Closing事件被触发

Window.Uloaded事件被触发

Window.Closed事件被触发

总结:

户在运行系统上的多个窗口中切换时,Activated和Deactivated(在窗口成为后台窗口时发生)在窗口的生命周期里会发生多次。ContentRendered事件只对窗口第一次完全呈现出来进行触发。为了让一些事情能在所有内容都显示给用户之前马上执行,可以用Loaded事件;为了让一些事情能在所有内容都显示给用户之后马上执行,可以用ContentRendered事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: