Xamarin.Mac - AppDelegate DidFinishLaunching - Info.plist中指定的“主界面”是否应该加载?

问题描述:

我有一个现有的.xib需要显示为Xamarin.Mac应用程序中的主页面。如果我将“Main Interface”设置为这个现有的.xib,它会显示,但不会在我的DidFinishLaunching覆盖被调用的时候完成。这是我期望做一些初始化的地方,但我指定的网点都是空的。Xamarin.Mac - AppDelegate DidFinishLaunching - Info.plist中指定的“主界面”是否应该加载?

我是Xamarin的新手,我试图弄清楚是否需要重写一个不同的调用,让我知道主页面已经完成加载,或者问题出在别处。

我确实看到NSWindowController有一个WindowDidLoad覆盖,但是如果我在info.plist中设置主界面,它是如何知道ViewController用于该视图的,以便我的覆盖WindowDidLoad被调用?

我想我可能需要在DidFinishLaunching中手动创建主窗口,但是我找不到任何有关如何通过.xib创建主窗口的文档。有关于如何从笔尖获取故事板的文档,但我没有看到加载.xib的任何内容。如果有人可以找到关于如何在Xamarin.Mac应用程序中初始化主窗口(包括所有管道)的很好参考,那可能就足够了。

预先感谢您的时间。

事件的链大致是:

  • 主调用NSApplication.Main
  • 读取的Info.plist以确定哪些XIB /故事板加载。
  • 故事板被加载并膨胀。视图控制器有一个指向“ViewController”的自定义类
  • 您的ViewController已启动,并且WindowDidLoad被调用。
  • DidFinishLaunching不完全是你在找什么。

可能,我建议看看有问题的文件,以获得更好的了解全过程:

https://developer.xamarin.com/guides/mac/getting_started/hello,_mac/#Anatomy_of_a_Xamarin.Mac_Application