【问题标题】:Xamarin.Mac: Closed window is not reopened to click app icon in the dockXamarin.Mac:关闭的窗口未重新打开以单击 Dock 中的应用程序图标
【发布时间】:2021-07-12 02:50:53
【问题描述】:

我希望能够关闭所有窗口一次,然后单击 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.

【问题讨论】:

    标签: c# macos visual-studio xamarin


    【解决方案1】:

    你可以试试这个代码,它可以工作:

     public override bool ApplicationShouldHandleReopen(NSApplication sender, bool hasVisibleWindows)
     {
         if (!hasVisibleWindows)
         {
             foreach (var window in sender.Windows)
                 window.MakeKeyAndOrderFront(this);
         }
         return true;
     }
    

    【讨论】:

      【解决方案2】:

      您也许应该尝试(如果这在 mac 上的 xamarin 中有效,但我在 winforms 中遇到同样的问题)创建新窗口,在您可以在该层次结构或解决方案资源管理器或任何新窗口中看到之后。然后创建新实例并显示它。

      if (hasvisiblewindows == false)
              {
                  NewWindow newWindow == new NewWindow();
                  NewWindow.ShowWindow(this);
              }
      

      我认为这应该对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-07
        • 1970-01-01
        • 2011-07-26
        • 2023-03-12
        • 2012-11-02
        相关资源
        最近更新 更多