C# 使用MonoMac以编程方式在窗口内的WebView中显示网页

C# 使用MonoMac以编程方式在窗口内的WebView中显示网页,c#,webview,xamarin,webkit,monomac,C#,Webview,Xamarin,Webkit,Monomac,我真的不想在这里问这个问题,因为在我看来这应该是非常基本和简单的,但在昨天到今天的几个小时的搜索之后,我在网上找不到任何好的例子。下面是: 我正在尝试使用使用OAuth2.0身份验证的API。为了进行身份验证,我尝试打开一个窗口,其中包含一个网页,以便用户授予对应用程序的访问权限。出于某种原因,我认为这就像创建一个新的NSWindow和WebView一样简单,将窗口的内容设置为WebView,并加载页面URL;但是,当我运行此命令时,窗口会打开,但不会显示任何内容。我尝试使用autolayout

我真的不想在这里问这个问题,因为在我看来这应该是非常基本和简单的,但在昨天到今天的几个小时的搜索之后,我在网上找不到任何好的例子。下面是:

我正在尝试使用使用OAuth2.0身份验证的API。为了进行身份验证,我尝试打开一个窗口,其中包含一个网页,以便用户授予对应用程序的访问权限。出于某种原因,我认为这就像创建一个新的NSWindow和WebView一样简单,将窗口的内容设置为WebView,并加载页面URL;但是,当我运行此命令时,窗口会打开,但不会显示任何内容。我尝试使用autolayout约束,认为webview可能没有正确定位,但这也不起作用。我从下面的代码中取出了它们。我正试图以一种不太灵活的方式来做这件事。下面是我的代码:

using AppKit;
using Foundation;
using CoreGraphics;
using WebKit;

namespace SampleApplication.Mac
{
    [Register ("AppDelegate")]
    public class AppDelegate : NSApplicationDelegate
    {
        public AppDelegate ()
        {
        }

        public override void DidFinishLaunching (NSNotification notification)
        {
            var window = new NSWindow (new CGRect (0, 0, 100, 100), NSWindowStyle.Borderless, NSBackingStore.Buffered, false);
            var webview = new WebView();
            webview.Frame = new CGRect (0, 0, 100, 100);
            window.ContentView = webview;
            webview.MainFrame.LoadRequest(new NSUrlRequest (new NSUrl ("https://google.com")));
        }

        public override void WillTerminate (NSNotification notification)
        {
            // Blah
        }
    }
}

我以前做过一些Mac开发,但我从未使用过WebKit,所以我可能在某些地方缺少一些理解。任何帮助都将不胜感激,因为这方面的文档不是很好。

好吧,事实证明问题与WebView完全无关。我对此感到非常愚蠢,但显示的窗口是默认窗口,它是我创建项目时使用的Cocoa应用程序模板的一部分。我试图制造的窗户根本没有出现!我觉得这些尺寸看起来很奇怪

为了解决这个问题,我只需要在实例化窗口后执行以下操作:

window.MakeKeyAndOrderFront(null);
一旦我这样做了,窗口显示和网页加载正如我所期望的