2011-01-03 1 views
0

私はSilverlightを使用して一連のリンクを表示するサイドバーガジェットを作成しました。私はウェブサイトでシルバーライトをホストすることができ、リンクをクリックすると新しいタブで開くことができます。しかし、ガジェットとしてパッケージ化すると、リンクがガジェットに表示され、クリックすることはできますが、リンクを表示するためのブラウザウィンドウは開きません。Silverlightベースのガジェットはブラウザでリンクを開きますか?

これを機能させるには、何が必要ですか?

答えて

2

ガジェットから外部リンクを起動するには、お好みのシェル実行メソッドを使用するのが最善です。そうすることでデフォルトのブラウザで起動されます。

function launchLink() { 
    if (this.href.slice(0,7) == "http://") { 
     System.Shell.execute(this.href); 
     return false; 
    } 
} 

理論的には、あなたは少しこれを変更し、HTMLブリッジを使用して、Silverlightのコードから呼び出すことができます:ガジェットを開発する場合、すべての私のリンクは、以下の方法を指すのonclickハンドラを持っています。

JSコード

function launchLink(href) { 
    System.Shell.execute(href); 
} 

シルバー

// HtmlPage requires using System.Windows.Browser 
HtmlPage.Window.Invoke("launchLink", "http://some.com/"); 
+0

おかげでアンディ・E.私は 'HtmlPage.RegisterScriptableObject( "ページ"、これが)必要はありませんでしたが判明。 'bit(これは管理対象オブジェクトをjavascriptに表示させるだけです)、javascriptメソッドを呼び出すことでシェルを実行するだけです。 –

+0

@Sam:私はそう思っていましたが、あまり確かではありませんでした。私のSilverlightの知識は、それが何であるかということではありません:-) –

関連する問題