在Mac OS X上使用Mono显示HTML

时间:2011-11-19 12:08:12

标签: c# macos mono

我从this question和其他类似的人那里收集,以及彻底的网络搜索,libgluezilla不适用于OS X,因此无法使用WebBrowser控件。

如果仍然如此,是否还有其他方法可以在Mac上的单声道应用程序中显示HTML?

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

1 个答案:

答案 0 :(得分:1)

我在我的应用程序中实现了使用mono显示HTML。我使用monobjc(http://www.monobjc.net/)和mono 2.8.10。 Monobjc 4.0中包含webkit dll。你可以使用它。

有两种方式 -

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

    2不推荐 - 使用textView -SubClass 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);

相关问题