Как принудительно создать новое окно или вкладку в silverlight

#silverlight #tabs #window

#silverlight #вкладки #окно

Вопрос:

Я пытаюсь открыть новое окно или вкладку из моего приложения Silverlight. Как я могу принудительно указать целевой тип (window / tab)? Прямо сейчас при вызове используются настройки браузера по умолчанию:

 HtmlPage.Window.Navigate(new Uri("http://www.google.com"), "_blank");
  

Для этого я использую контекстное меню, и я хотел бы получить те же результаты, что и в обычном браузере, «Открыть на новой вкладке» и «Открыть в новом окне».
Спасибо

Ответ №1:

Прочитайте следующую статью о HtmlPage.PopupWindow() :

Как вызвать всплывающее окно браузера

Также это blank не _blank при использовании Navigate .

В качестве альтернативы вы всегда можете вызвать функцию javascript из Silverlight. Создайте функцию, которая принимает параметр URL в javascript, а затем просто вызовите ее из Silverlight, например:

 HtmlPage.Window.Invoke("OpenMyNewWindow", new string[] { "http://www.google.com" });
  

Функция Javascript:

 function OpenMyNewWindow(url)
{
    window.open(url, "nameOfWindow");
}
  

Это самый громоздкий способ, но он обладает большой гибкостью для выполнения других задач и, возможно, получения правильного представления о вкладке / окне. Что касается указания вкладки или окна, я не думаю, что вы можете, поскольку это зависит от браузера и может отличаться в зависимости от того, какой браузер вы используете.

Комментарии:

1. ссылка на блог Microsoft перенаправляет на загрузку Silverlight