Мне нужно будет отобразить некоторый базовый HTML (только некоторые абзацы, неупорядоченные списки и гиперссылки) в моем приложении Silverlight. Как я могу это сделать?Как отобразить HTML в приложении Silverlight?
Какой контроль использовать?
Мне нужно будет отобразить некоторый базовый HTML (только некоторые абзацы, неупорядоченные списки и гиперссылки) в моем приложении Silverlight. Как я могу это сделать?Как отобразить HTML в приложении Silverlight?
Какой контроль использовать?
Попробуйте эту ссылку для стартеров: http://www.wintellect.com/CS/blogs/jprosise/archive/2009/12/22/silverlight-4-s-new-html-hosting-support.aspx
Вот соответствующая часть:
Еще одна из новых возможностей, которые Silverlight 4 приносит платформа является возможность размещения содержимого HTML внутри Silverlight управление. Эта поддержка не ограничивается статическим HTML-контентом; содержимое может быть интерактивным и включать сценарий. Это может быть даже Flash-контент или контент, который включает в себя другие элементы управления Silverlight.
Чтобы разместить HTML-контент в Silverlight, вы можете использовать элемент управления WebBrowser или HtmlBrush. Один из способов отображения содержимого HTML является запустить контроль WebBrowser и указать его к URL-адресу:
<WebBrowser x:Name="WebBrowserControl" Source="http://www.bing.com" />
Другой способ сделать это позвонить NavigateToString и передать строку содержания в управления WebBrowser:
WebBrowserControl.NavigateToString("<h1>Hello, Silverlight</h1>");
HTML хостинг не доступна в браузере приложений (это относится и к ), и если OOB не имеет повышенных разрешений , он может отображать только контент, который поступает из того же домена , что и приложение Silverlight. Тем не менее, вы можете использовать немного трюк для отображения содержимого междоменное в OOBs, которые работают без повышенных разрешений, просто передать IFRAME ориентации удаленного контента на NavigateToString:
WebBrowserControl.NavigateToString("<iframe src=\"http://www.bing.com\" style=\"width: 100%; height: 100%\"></iframe>");
Вы можете оказать HTML-контент с помощью HtmlBrush. Следующий XAML фрагмент рисует прямоугольник с содержанием извлеченного из Bing:
<WebBrowser x:Name="WebBrowserControl" Source="http://www.bing.com" />
<Rectangle>
<Rectangle.Fill>
<HtmlBrush SourceName="WebBrowserControl" />
</Rectangle.Fill>
</Rectangle>
Одно различия между WebBrowser и HtmlBrush является то, что бывший отображает «живет» содержание, в то время как последние не делает. Другое отличие заключается в том, что HtmlBrush может иметь к нему примененные преобразования, в то время как WebBrowser не может. Для потрясающих визуальных эффектов, связанных с HTML-контентом, например головоломкой HTML , демонстрацией в PDC, вы, вероятно, окажетесь с помощью HtmlBrush. Для отображения живого интерактивного контента вы найдете WebBrowser более полезным.
Один из самых классных элементов управления WebBrowser заключается в том, что вы можете использовать свой метод InvokeScript для вызова функций JavaScript в содержимом, размещенном элементом управления.И наоборот, JavaScript, размещенный внутри элемента управления WebBrowser, может использовать window.external.Notify для повышения ScriptNotify события, которые могут обрабатываться на C#.
Вы можете использовать управление HtmlBrush или webbrowser.