在WinForm的控件中,有一个OnLoaded虚函数,但在WPF控件中似乎缺少这个功能。我发现这个功能在某些情况下非常有用。例如,在控件“完全”初始化后,我可以在这里做一些事情。在WPF控件中,有一个OnInitialized虚函数,但是这个函数是从InitializeComponent函数调用的,这个函数太早了,它不允许派生类设置。是否有任何理由不在WPF中使用此功能?或者我错过了什么?
答案 0 :(得分:7)
您可以附加到Window对象的Loaded事件,并在事件处理程序中执行您想要执行的操作(假设您使用的是c#):
public MyWindow() //constructor
{
this.Loaded += MyWindow_Loaded;
}
private void MyWindow_Loaded(object sender, RoutedEventArgs e)
{
// do your stuff here
}
答案 1 :(得分:1)
您将寻找FrameworkElement.EndInit()
这将在Element ...
的初始化过程之后起作用