繁体   English   中英

如何使用MonoMac / Xamarin打开或创建新窗口?

[英]How to open or create new window with MonoMac/Xamarin?

我有一个带有2个窗口的Xamarin / MonoMac项目。 主窗口将打开,并且其功能应与之相同。 但是,我有一个需要打开第二个窗口的按钮(将第一个窗口称为“ Main”,将第二个窗口称为“ Second”)。 两者都有各自的XIB文件和控制器类。

该按钮是在MainWindowController中设置的,并且通常可以这样运行:

secondButton.Activated += (o, e) => {
     //Do stuff
}

诸如Console.WriteLine();之类的方法 单击按钮时,功能将按预期运行。

第二个窗口控制器类设置为:

public partial class SecondWindowController : MonoMac.AppKit.NSWindowController {
    ...
}

我需要做的是使secondButton在单击时打开SecondWindow的实例,同时将MainWindow的活动实例传递给SecondWindow构造函数。

在C#.NET中,我只会使用

SecondWindow sc = new SecondWindow(this);
sc.ShowDialog();

我可以使用它来打开SecondWindow

NSWindowController nsc = new NSWindowController("SecondWindow", this);
nsc.ShowWindow(this);

但这会导致错误说明

“ Interface Builder文件中的未知窗口类SecondWindow,而是创建通用窗口。”

该窗口显示应显示的内容,但是即使我运行,SecondWindowController函数中也没有任何函数

nsc.AwakeFromNib();

打开窗户后直接。 没有控制台输出,并且所有按钮都不起作用。

我如何才能打开窗口并正常运行? 如果需要更多信息,请让我知道我需要添加的内容,以便您了解。

提前致谢!

要从情节提要中获取窗口,您需要使用NSStoryboard.InstantiateControllerWithIdentifier(string id) as NSWindowController

另外,您必须将ID设置为情节提要中窗口的标识符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM