хочу открыть ссылку во внешнем браузере WP7 - PullRequest
8 голосов
/ 24 января 2011

Архитектура выглядит так:
При нажатии кнопки открывается HTML-страница, на которой есть ссылка.При нажатии на ссылки я хочу открыть его во внешнем (по умолчанию) браузере WP7, чтобы приложение закрывалось, а ссылка открывалась извне.Как я могу это реализовать?
Добавлен этот элемент управления в файле xaml:

<phone:WebBrowser Name="browser" Margin="0,78,0,0" />

При нажатии кнопки:

   private void Information_Loaded(Object sender,RoutedEventArgs e)
   {
       Assembly assembly = Assembly.GetExecutingAssembly();

       using (Stream stream = assembly.GetManifestResourceStream("index_en.html"))
       {
           using (StreamReader reader = new StreamReader(stream))
           {
               string html = reader.ReadToEnd();

               browser.NavigateToString(html);                   
           }
       }

Теперь в index_en.html есть ссылка, которую нужно открытьво внешнем браузере.

Ответы [ 3 ]

12 голосов
/ 24 января 2011

Обычно вы делаете это, используя свойство Target для тега <a>.Но в WP7 (по крайней мере, в эмуляторе) это не работает.

Что вы можете сделать, это перехватить, используя событие Navigating, например, следующее:

void WebBrowser1_Navigating(object sender, NavigatingEventArgs e)
{
    if (IsSupposedToOpenInPhoneBrowser(e.Uri))
    {
        e.Cancel = true;
        WebBrowserTask task = new WebBrowserTask();
        task.URL = e.Uri.ToString();
        task.Show();
    }
}
7 голосов
/ 24 января 2011

Вы можете использовать WebBrowserTask для запуска браузера.

Я обнаружил, что вам нужно экранировать URL-адрес, который вы ему передаете: (

6 голосов
/ 20 августа 2012

Вы можете использовать что-то подобное

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    WebBrowserTask webBrowserTask = new WebBrowserTask();
    webBrowserTask.Uri = new Uri("http://www.someUrl.com");
    webBrowserTask.Show(); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...