我看到了一个代码示例,它创建了一个方法Window_Loaded(),该方法由XAML的“Window Loaded”事件调用:
<Window x:Class="TestModuleLoader.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" Loaded="Window_Loaded"> <Grid> ... </Grid> </Window>
但在后面的代码中,代码在构造函数和Window_Loaded()方法中都有效:
using System.Windows; namespace TestModuleLoader { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void Window_Loaded(object sender,RoutedEventArgs e) { //what advantages do I have running code here? } } }
这样做有什么好处吗?
是否有一个“窗口加载周期”,如在ASP.NET中进行,这有助于了解,即PreRender(),PostRender()等方法?
是的,WPF控件有一个类似的生命周期,就像在ASP.NET中一样. WPF控件的生命周期更简单,因为它基本上包含初始化,加载和卸载事件(按此顺序).看到:
http://msdn.microsoft.com/en-us/library/ms754221.aspx
和迈克希尔伯格有一篇很好的文章,展示了initalized和load事件之间的区别:
http://blogs.msdn.com/mikehillberg/archive/2006/09/19/LoadedVsInitialized.aspx
原文地址:https://www.jb51.cc/windows/364741.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。