私はこれにかなり困惑していると言わざるを得ず、おそらく同じ問題に遭遇した人がいるといいのですが。次のように作成された HyperlinkButton があります。
var hb = new HyperlinkButton
{
Content = fooText,
ClickMode = ClickMode.Release,
NavigateUri = new Uri(fooLink.Value)
};
hb.Click += hb_Click;
static void hb_Click(object sender, RoutedEventArgs e)
{
var btn = (HyperlinkButton)sender;
HtmlPage.Window.Navigate(btn.NavigateUri, "_blank");
}
リンクは、アプリケーション内ではなく、Web サイトへの絶対 URL ( http://.. .) です。そのため、ブラウザの新しいタブで開きたいと考えています。それはまさにそれがすることです!Web サイトは新しいタブで開きますが、アプリケーション タブで次のエラーが表示されます。
次のように、ターゲット パラメーターがないようにイベント ハンドラーを変更すると、次のようになります。
HtmlPage.Window.Navigate(btn.NavigateUri);
...ブラウザがアプリケーションから移動する直前に、エラーも表示されます。しかし、新しいタブを開きたいです。
私は Visual Studio 11 の Silverlight ビジネス アプリケーション テンプレートを使用していますが、いくつかの謎のバグがあることに既に気付きました。これはそのうちの 1 つかもしれません。全体として、それは機能します。エラーメッセージを取り除く必要があるだけです。しかし、飲み込むことができるイベント ハンドラーで例外がスローされることはありません。