问题描述
我希望能够一次关闭所有窗口,然后单击 Dock 中的图标重新打开窗口。
我找到了以下代码。
AppDelegate.cs
public override bool ApplicationShouldHandleReopen(NSApplication sender,bool hasVisibleWindows)
{
if (hasVisibleWindows == false)
{
var mainWindow = new MainWindowController();
mainWindow.ShowWindow(this);
}
return true;
}
但是,我在默认项目中找不到任何定义 MainWindowController
的文件,如上面的代码所示。
我认为我应该使用 ViewController
,并且我尝试了一些东西,但它没有按预期工作。我该怎么办?
开发环境为 Visual Studio for Mac 版本。 8.9.6.
解决方法
你可以试试这个代码,它有效:
public override bool ApplicationShouldHandleReopen(NSApplication sender,bool hasVisibleWindows)
{
if (!hasVisibleWindows)
{
foreach (var window in sender.Windows)
window.MakeKeyAndOrderFront(this);
}
return true;
}
,
您也许应该尝试(idk,如果这在 mac 上的 xamarin 中有效,但我在 winforms 中遇到了同样的问题)在您可以在该层次结构或解决方案资源管理器或任何新窗口中看到的内容之后创建新窗口。然后创建新实例并显示它。
if (hasvisiblewindows == false)
{
NewWindow newWindow == new NewWindow();
NewWindow.ShowWindow(this);
}
我认为这应该对您有所帮助。