Xamarin Forms Multi-App - MacOS 项目未显示 Xamarin 表单

问题描述

编辑:添加了指向我创建的项目的链接 https://drive.google.com/file/d/1A4XGKdxeC22_wqtNEtenLxYbgCp3I_dA/view?usp=sharing

我在 Visual Studio 2019 (Windows 10) 上创建了一个非常基本的多平台应用程序,其中包含 4 个项目: 源项目 安卓 IOS 通用应用程序

我按照以下说明添加了 MacOS 项目:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/other/mac

根据 UWP、iOS 和 Android 应用程序,应用程序编译但加载了一个空白表单,并且不显示任何 Xamarin 表单。

我接下来在 Mac 上本地创建了一个空的多平台应用程序 - 按照上述说明添加了 MacOS 并获得相同的结果,加载空白表单。

我在 Mac 项目中使用的代码是上面的链接

// AppDelelegate.cs
using AppKit;
using Foundation;
using Xamarin.Forms;
using Xamarin.Forms.Platform.MacOS;
using pbTrader;

namespace pbTrader.MacOS
{
    [Register("AppDelegate")]
    public class AppDelegate : FormsApplicationDelegate
    {
        NSWindow window;
        public AppDelegate()
        {
            var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;

            var rect = new CoreGraphics.CGRect(200,1000,1024,768);
            window = new NSWindow(rect,style,NSbackingStore.Buffered,false);
            window.Title = "Xamarin.Forms on Mac!"; // choose your own Title here
            window.TitleVisibility = NSWindowTitleVisibility.Hidden;
        }

        public override NSWindow MainWindow
        {
            get { return window; }
        }

        public override void DidFinishLaunching(NSNotification notification)
        {
            Forms.Init();
            LoadApplication(new App());
            base.DidFinishLaunching(notification);
        }

        public override void WillTerminate(NSNotification notification)
        {
            // Insert code here to tear down your application
        }
    }
}


// Main.cs
using AppKit;

namespace pbTrader.MacOS
{
    static class MainClass
    {
        static void Main(string[] args)
        {
            NSApplication.Init();
            NSApplication.SharedApplication.Delegate = new AppDelegate(); // add this line
            NSApplication.Main(args);
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...