从 Xamarin.Mac 中的其他人打开新自定义 Window
Opening a New Custom Window From Other in Xamarin.Mac
我的应用程序中有两个自定义 NSWindow,如下所示:
Window 1:
public partial class LoginVindow : NSWindow
{
public LoginVindow (IntPtr handle) : base (handle)
{
}
}
Window 2:
public partial class OperationWindow : NSWindow
{
public OperationWindow (IntPtr handle) : base (handle)
{
}
}
现在,我想在单击按钮后关闭第一个 Window 并打开第二个 Window。但是,此代码对我来说 运行 不可用。
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.
}
互联网上的所有代码块似乎都是针对非定制标准 class NSWindow 项目,但其中一个对我来说似乎很稳定。然而,它不是运行ning。 (Xamarin 论坛中的Post:https://forums.xamarin.com/discussion/122359/open-and-close-window-programmatically-xamarin-mac)
我该如何处理这个操作?请帮忙,谢谢。
此代码块解决了我的问题。谢谢
// Get new window
var storyboard = NSStoryboard.FromName("Main", null);
var controller = storyboard.InstantiateControllerWithIdentifier("OperationsWindow") as NSWindowController;
controller.ShowWindow(this);
this.Window.Close();
我的应用程序中有两个自定义 NSWindow,如下所示:
Window 1:
public partial class LoginVindow : NSWindow
{
public LoginVindow (IntPtr handle) : base (handle)
{
}
}
Window 2:
public partial class OperationWindow : NSWindow
{
public OperationWindow (IntPtr handle) : base (handle)
{
}
}
现在,我想在单击按钮后关闭第一个 Window 并打开第二个 Window。但是,此代码对我来说 运行 不可用。
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.
}
互联网上的所有代码块似乎都是针对非定制标准 class NSWindow 项目,但其中一个对我来说似乎很稳定。然而,它不是运行ning。 (Xamarin 论坛中的Post:https://forums.xamarin.com/discussion/122359/open-and-close-window-programmatically-xamarin-mac)
我该如何处理这个操作?请帮忙,谢谢。
此代码块解决了我的问题。谢谢
// Get new window
var storyboard = NSStoryboard.FromName("Main", null);
var controller = storyboard.InstantiateControllerWithIdentifier("OperationsWindow") as NSWindowController;
controller.ShowWindow(this);
this.Window.Close();