2009-10-09 16 views
5

Silverlight 3 pozwala uruchomić aplikację out of the browser, która instaluje łącze na pulpicie/menu startowym.Silverlight 3 - Poza przeglądarką HtmlPage.Window.Navigate

Problemem jest obecnie za pomocą

System.Windows.Browser.HtmlPage. 
    Window.Navigate(new Uri("http://<server>/<resource>"), "_blank") 

załadować URL w nowym oknie przeglądarki (jest dostarczenie „do druku” aktualizacja użytkownikom drukowanie). Działa to w normalnej wersji SL w przeglądarce, ale poza przeglądarką otrzymujemy "Most DOM/scripting jest wyłączony". wyjątek zgłoszony podczas wywołania.

Czy istnieje alternatywa, która działa poza przeglądarką?

Widziałem Open page in silverlight out of browser, ale muszę to zrobić całkowicie w kodzie, więc nie chcę dodawać (ukrytego) przycisku hiperłącza, a następnie programowo "klikać" go (chyba że absolutnie muszę ...) .

Odpowiedz

2

Napisałem metodę rozszerzenia w oparciu o pomysł dziedziczenia z HyperlinkButton.

public static class UriExtensions { 

class Clicker : HyperlinkButton { 
    public void DoClick() { 
    base.OnClick(); 
    } 
} 

static readonly Clicker clicker = new Clicker(); 

public static void Navigate(this Uri uri) { 
    Navigate(uri, "_self"); 
} 

public static void Navigate(this Uri uri, string targetName) { 
    clicker.NavigateUri = uri; 
    clicker.TargetName = targetName; 
    clicker.DoClick(); 
} 
} 

Następnie można używać go używać proste, jak

nowych Uri ("http://www.google.com ") .Navigate (" _ blank");

+0

Dobra robota :) !! – Gomino

Powiązane problemy