Открытие нового пользовательского окна от другого в Xamarin.Mac - PullRequest
0 голосов
/ 07 октября 2018

У меня есть два настроенных NSWindow в моем приложении, например:

Окно 1:

public partial class LoginVindow : NSWindow
    {
        public LoginVindow (IntPtr handle) : base (handle)
        {
        }
    }

Window 1

Окно 2:

public partial class OperationWindow : NSWindow
    {
        public OperationWindow (IntPtr handle) : base (handle)
        {
        }
    }

Window 2

Сейчас,Я хочу закрыть первое окно после нажатия кнопки и открыть второе окно.Тем не менее, этот код не может быть запущен для меня.

 partial void LoginButton_Clicked(Foundation.NSObject sender)
    {
        Window.Close(); // Closes the first login window.

        var operation_window = new OperationWindow(Handle); // Gets the second Window. IntPtr parameter is required unlike the internet codeblocks.

        operation_window.ShowWindow(this); // No any method like this.
    }

Все блоки кода через Интернет выглядят для ненастроенных элементов NSWindow стандартного класса, но один из них кажется стабильным для меня.Тем не менее, он не работает.(Пост в форумах Xamarin: https://forums.xamarin.com/discussion/122359/open-and-close-window-programmatically-xamarin-mac)

Как мне справиться с этой операцией? Пожалуйста, помогите, спасибо.

1 Ответ

0 голосов
/ 08 октября 2018

Этот блок кода исправил мою проблему.Спасибо.

    // Get new window
    var storyboard = NSStoryboard.FromName("Main", null);
    var controller = storyboard.InstantiateControllerWithIdentifier("OperationsWindow") as NSWindowController;
    controller.ShowWindow(this);
    this.Window.Close();
...