gpt4 book ai didi

wpf - 为什么要在 XAML Window.Loaded 调用的方法中运行代码?

转载 作者:行者123 更新时间:2023-12-04 10:13:38 31 4
gpt4 key购买 nike

我看到了一个创建方法的代码示例 Window_Loaded()它由 XAML 的“窗口加载”事件调用:

<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

Mike Hillberg 有一篇优秀的文章展示了初始化和加载事件之间的区别:

http://blogs.msdn.com/mikehillberg/archive/2006/09/19/LoadedVsInitialized.aspx

关于wpf - 为什么要在 XAML Window.Loaded 调用的方法中运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651013/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com