gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:17 24 4
gpt4 key购买 nike

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

我正在尝试使用使用 OAuth 2.0 身份验证的 API 进行试验。为了进行身份验证,我试图打开一个带有网页的窗口,供用户授予对应用程序的访问权限。出于某种原因,我认为这就像创建一个新的 NSWindow 和 WebView 一样简单,将窗口的内容设置为 WebView,并加载页面 URL;但是,当我运行它时,窗口会打开,但从不显示任何内容。我尝试使用自动布局约束,认为 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);

执行此操作后,窗口会按预期显示并加载网页。

关于c# - 使用 MonoMac 以编程方式在窗口内的 WebView 中显示网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34808043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com