Веб-браузер Windows Phone 7 Переход к HTML-файлу, расположенному в папке в решении - PullRequest
1 голос
/ 13 июля 2011

Uri currURI = новый Uri (currentPageToLoad, UriKind.Relative); ExtrasHTMLbrowser.Navigate (currURI);

Приведенный выше код в основном захватывает строку (currentPageToLoad) и создает URI. Затем мой веб-браузер ExtrasHTMLbrowser пытается перейти к URI. Когда currentPageToLoad является чем-то вроде «author.html», он работает отлично и переходит на html-страницу.

Однако проблема, с которой я сталкиваюсь, заключается в том, что, когда html-файл находится в папке, такой как HTML, он не будет правильно перемещаться. Таким образом, когда currentPageToLoad = "HTML / author.html", телефон выдаст мне общую страницу 404. Не найден.

Любая идея, почему это будет иметь значение, если файл находится в папке, или я пытаюсь получить доступ к файлу неправильно?

Любая помощь очень ценится, спасибо! -Марк

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Установите для файла HTML тип сборки Content. Затем сделайте это:

var rs = Application.GetResourceStream(new Uri("HTML/author.html", UriKind.Relative));
StreamReader sr = new StreamReader(rs.Stream);

Это будет читать весь HTML-файл в виде строки.Затем вы можете использовать метод NavigateToString элемента управления WebBrowser следующим образом:

ExtrasHTMLbrowser.NavigateToString(sr.ReadToEnd());

Если у вас есть изображения / CSS, которые вы хотите использовать, то вам придется использовать вышеуказанный метод, чтобы прочитать файл HTML какстроку и сохраните ее в изолированном хранилище вместе с изображениями и файлами CSS (с соответствующими каталогами).

1 голос
/ 13 июля 2011

Чтобы иметь возможность перемещаться между несколькими страницами, сначала необходимо скопировать файлы в IsolatedStorage. Невозможно перемещаться между страницами, если вы переходите к файлу непосредственно в XAP. (Относительные пути не могут быть использованы, и вы не можете получить доступ к таким файлам через абсолютный Uri.)

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