0

mvvm パターンで Silverlight 5 を使用しています。xaml ページには、ハイパーリンク ボタンと画像が 1 つあります。「プレビュー」という名前のボタンをクリックすると、画像または任意のファイルを新しいタブブラウザーで開く必要があることを意味します。

XAML コード:

<Image Source="{Binding Image}"/>
    <HyperlinkButton Content="Preview" Width="60" Height="26"   
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        TargetName="_blank"
        Name="HyperlinkButton"
        Background="Transparent"
        Click="HyperlinkButton_Click">
    </HyperlinkButton>

ビューモデル コード:

void ChooseHyperExecute(object param)
{
    WebBrowser br = new WebBrowser();
    SampleViewModel dt = param as SampleViewModel;

    string ma = dt.String_Value;
    br.Navigate(new Uri(Application.Current.Host.Source, string.Format("./Images/{0}", ma)));

}

しかし、それは機能していません。

4

1 に答える 1

1

メソッドを使用する必要がありますHtmlWindow.Navigate

void ChooseHyperExecute(object param)
{
    SampleViewModel dt = param as SampleViewModel;
    string ma = dt.String_Value;            
    var externalUri = new Uri(Application.Current.Host.Source, 
        string.Format("./Images/{0}", ma));
    var absoluteUri = new Uri(externalUri, UriKind.Absolute);
    System.Windows.Browser.HtmlPage.Window.Navigate(absoluteUri, "_blank");
}
于 2012-11-05T14:25:59.820 に答える