在Mac OS X上使用Mono显示HTML

本文关键字:Mono 显示 HTML Mac OS | 更新日期: 2023-09-27 18:15:21

我从这个问题和其他类似的问题以及彻底的网络搜索中收集到,libgluezilla在OS X上不可用,所以不可能使用WebBrowser控件。

如果这仍然是情况下,有没有其他方式显示HTML在一个单一的应用程序在Mac上?

编辑:我已经尝试过open-webkit-sharp,但得到一个运行时错误,如"找不到文件......'English.ini",这是奇怪的,因为它存在于正在搜索的地方。按照Lex Li的建议,我尝试了MonoMac,但显然我需要做的不仅仅是添加一些名称空间和几行初始化代码,以使程序正常运行,因为它可以编译,但在运行时实际上没有打开窗口。我认为MonoMac可能不是我想要的方式,因为它会阻止代码跨平台,这就是为什么我要走mono路线。

在Mac OS X上使用Mono显示HTML

我已经在我的应用程序中实现了使用单声道显示HTML。我使用monobjc(http://www.monobjc.net/)和mono 2.8.10。Monobjc 4.0中有webkit插件。你可以用它

有两种方法

  1. 推荐的方法-使用Webkit -在monobjc网站上提供的示例- http://www.monobjc.net/index.php?page=simplewebbrowser。如果您下载了该项目,您将看到示例代码。

网站上的文档不言自明。

2不推荐-使用textView -子类NSTextView并将其与您的项目挂钩。现在将以下代码添加到子类的Setter中。我粘贴的代码,可以与monobjc使用。

 NSString str = new NSString(value);
 NSData data = str.DataUsingEncoding(NSStringEncoding.NSUnicodeStringEncoding);
var attributedString1 = new NSMutableAttributedString();
NSDictionary dict;

_htmlString = attributedString1。InitWithHTMLDocumentAttributes(data, out dict).CastAs();

TextStorage.SetAttributedString (_htmlString);