2011-11-19 104 views
1

我從this question和其他喜歡它的人那裏收集以及徹底的網絡搜索,libgluezilla不適用於OS X,因此無法使用WebBrowser控件。在Mac OS X上使用Mono顯示HTML

如果仍然如此,是否有任何其他方式在Mac上的單聲道應用程序中顯示HTML?

編輯:我試過open-webkit-sharp,但得到一個運行時錯誤,如'找不到文件...... \ English.ini',這是奇怪的,因爲它存在於被搜索的地方。 Lex Li的建議之後,我嘗試使用MonoMac,但顯然我需要做的不僅僅是添加一些名稱空間和幾行初始化代碼,以便程序在編譯時可以正常工作,但實際上並沒有在運行時打開窗口。我認爲MonoMac可能不是我想要的方式,因爲它會阻止代碼跨平臺,這就是爲什麼我要走單聲道路線。

+1

您是否嘗試過webkit-sharp? – IanNorton

+0

@IanNorton,我無法掌握webkit-sharp,但發生在open-webkit-sharp上,看起來很有希望,所以非常感謝您的建議。 – blankabout

+1

如果您使用MonoMac,WebKit類已經是此框架的一部分,http://stackoverflow.com/questions/8104529/mono-use-webkit-with-gtk –

回答

1

我在我的應用程序中使用mono實現了HTML顯示。我使用monobjc(http://www.monobjc.net/)和單聲道2.8.10。 Monobjc 4.0中有webkit dll。你可以使用它。

有兩種方式 -

  1. 推薦的方法 - 使用Webkit的 - 例如在monobjc現場可用 - http://www.monobjc.net/index.php?page=simplewebbrowser。如果您下載該項目,您將看到示例代碼。

該網站的文檔是不言自明的。

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(數據,出字典).CastAs();

TextStorage.SetAttributedString(_htmlString);

+0

Monobjc很棒! –