将 XIB 加载到 ViewController Xamarin?

Load XIB into ViewController Xamarin?

可以在 xamarin 中从自定义 XIB 创建和加载视图吗? 在 Objective-C 中就像:

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;

1 - 创建您的 XIB 文件(例如 MyView)。

2 - 在与 XIB 文件相关的 .cs 中添加此静态创建器方法:

partial class MyView : UIView
    {
        public MyView (IntPtr handle) : base (handle)
        {    
        }

        public static MyView Create()
        {    
            var arr = NSBundle.MainBundle.LoadNib ("MyView", null, null);
            var v = arr.GetItem<MyView>(0);

            return v;
        }
    }

3 - 将 MyView 添加到 ViewController:

public partial class ViewController : UIViewController
{
    MyView v;
    public ViewController (IntPtr handle) : base (handle)
    {
    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        v = MyView.Create();
        v.Frame = View.Frame;
        View.AddSubview (v);
    }
}

您可以阅读更多内容here