我如何在Xamarin.Mac上创建一个自定义注册段?

问题描述 投票:0回答:1

我有一个程序,我希望用户能够注册一个账户。主视图控制器有一个 登记 按钮,他们可以点击。我希望窗口被替换,而不是片断或模态切换。然后,当他们点击 妥当他们将被重定向回主视图控制器。

macos xamarin xamarin.mac
1个回答
0
投票

你可以使用跟随方式来导航到另一个窗口。

ButtonClickEvent.Activated += (sender, e) => {
      Console.WriteLine("Button Click");

      NSWindow newWindow = new NSWindow();
      newWindow.Title = "Second Window";
      newWindow.SetFrame(new CGRect(500, 500, 300, 200),true);
      // set be key window and be front
      newWindow.MakeKeyAndOrderFront(null);
      // close current window
      View.Window.OrderOut(Self);
};

而当回到上一个窗口时,也可以使用这种方式。

我将分享一张截图来解释如下。

enter image description here

你会看到有两个WindowControllers和两个ViewControllers。

  • 第一个窗口控制器(MainWindow) -> 第一个视图控制器(ViewController)
  • 第二窗口控制器(SecondWindow) -> 第二视图控制器(SecondViewController)

第一视角控制器 :

ButtonClickEvent.Activated += (sender, e) => {
      Console.WriteLine("Button Push");

      var storyboard = NSStoryboard.FromName ("Main", null);
      var controller = storyboard.InstantiateControllerWithIdentifier ("SecondWindow") as NSWindowController;
      // display
      controller.Window.MakeKeyAndOrderFront(null);
     // close current window
      View.Window.OrderOut(Self);
};

第二视图控制器 :

ButtonClickEvent.Activated += (sender, e) => {
      Console.WriteLine("Button Back");

      var storyboard = NSStoryboard.FromName ("Main", null);
      var controller = storyboard.InstantiateControllerWithIdentifier ("MainWindow") as NSWindowController;
      // display
      controller.Window.MakeKeyAndOrderFront(null);
     // close current window
      View.Window.OrderOut(Self);
};

ㄒ唬└涸鹑吮硎?

enter image description here

开放式 主图板Xcode界面生成器 :

enter image description here

审查是否 故事板ID 设在项目中

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.