Xamarin.Mac/Cooa等效于Window Loaded事件
本文关键字:Window Loaded 事件 Mac Cooa Xamarin | 更新日期: 2023-09-27 18:00:29
我正在研制我的第一个Xamarin。Mac应用程序来编写现有WPF应用程序的Mac版本。我是根据我在"你好,Mac"文档中读到的内容编写的。
我有几个地方想做一些事情来响应加载的窗口。在WPF中,我只需将一个事件处理程序附加到窗口的Loaded事件上,就可以完成它
Xamarin中的等效物是什么。带可可窗的Mac?或者有更好的模式可以使用吗?我在Window和WindowController类上看到了各种Did*事件,但没有"DidLoaded"事件或任何类似的事件。
我不想在构造函数中这样做,因为它们可能需要一段时间,而且我不想阻止窗口显示——我希望窗口先在那里,然后我开始这些事情。
有什么指导吗?
在同一指南中,您应该将此覆盖添加到MainWindow类中。
public override void AwakeFromNib ()
{
base.AwakeFromNib ();
// enter code here
}
我们需要使用AwakeFromNib,而不是其他方法,例如初始化,因为AwakeFromNib是在OS加载和从.xib文件实例化了用户界面。如果我们尝试在完全加载.xib文件之前访问标签控件并且实例化,我们会得到一个NullReferenceException错误,因为标签控件尚未创建。