Отображение HTML с Mono в Mac OS X - PullRequest
1 голос
/ 19 ноября 2011

Я получаю из этот вопрос и другие подобные ему, а также тщательный поиск в Интернете, что libgluezilla недоступна для OS X, поэтому невозможно использовать элемент управления WebBrowser.

Если это все еще так, есть ли другой способ отображения HTML в моно-приложении на Mac?

РЕДАКТИРОВАТЬ: я пробовал open-webkit-sharp, но получаю ошибку во время выполнения, например, «не могу найти файл ...... \ English.ini», что странно, поскольку существует в месте поиска. Следуя предложению Лекса Ли, я попытался с MonoMac, но, очевидно, мне нужно сделать больше, чем просто добавить несколько пространств имен и пару строк кода инициализации, чтобы программа работала, когда она хорошо компилируется, но фактически не открывает окно при запуске. Я думаю, что MonoMac, вероятно, не тот путь, по которому я хочу идти, так как он предотвратит кросс-платформенность кода, поэтому я иду по моно-маршруту.

1 Ответ

1 голос
/ 05 января 2012

Я реализовал в своем приложении отображение 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 -SubClass NSTextView и подключить его к вашему проекту. Теперь добавьте следующий код в Setter вашего подкласса. Я вставляю код, который можно использовать с monobjc.

 NSString str = new NSString(value);

 NSData data = str.DataUsingEncoding(NSStringEncoding.NSUnicodeStringEncoding);

var attributedString1 = new NSMutableAttributedString();

NSDictionary dict;

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

TextStorage.SetAttributedString (_htmlString);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...