Переход к .html-файлу в сборке - PullRequest
0 голосов
/ 08 октября 2009

Я работаю с элементом управления WPF WebBrowser, чтобы перейти на html-страницу с Silverlight. Кажется, я не могу использовать метод NavigateToString или NavigateToStream, так как у меня есть содержимое Silverlight. Содержание HTML загружается нормально, но не Silverlight. Поэтому я думаю, что мне придется использовать метод Navigate, который использует Uri. Теперь моя HTML-страница, на которую я бы хотел перейти, находится в файле .html в моем проекте Visual Studio, поэтому мне потребуется какой-то локальный URI. Я не хочу, чтобы html-файл копировался в выходную папку, поскольку я не хочу распространять его отдельно; Я хочу, чтобы это было как-то включено в сборку. Проблема заключается в том, что элемент управления WebBrowser не позволяет использовать относительный Uris или pack: // application: uris.

Как я могу выполнить привязку к файлу .html в сборке?

1 Ответ

0 голосов
/ 08 октября 2009

Вы должны иметь возможность использовать NavigateToString и самостоятельно извлекать HTML-файл, используя GetManifestResourceStream:

using (var _textStreamReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("BrowserTest.test.htm")))
{
    string content = _textStreamReader.ReadToEnd();
    MainBrowser.NavigateToString(content);
}

У вас будут проблемы, если вам понадобится использовать внешние ресурсы в вашем HTML-файле. Если вам нужен внешний ресурс, вам придется встраивать ресурсы Win32 (не то же самое, что ресурсы .net) в вашу сборку, что немного проблематично. Есть пример сделать это в приложении WinForms поверх CodeProject .

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