0

mvvm を使用する私の Silverlight5 アプリケーションでは、以下のものを達成する必要があります。画像を含む画像フォルダーがあります。画像パス全体を取得してハイパーリンク ボタンに割り当てる方法。

<HyperlinkButton Content="Preview"  NavigateUri="{Binding image_value}"
                                                          TargetName="_blank" />

しかし、次のようなパスを指定する必要があります。

 ("./Images/{0}", String_Value)

これを達成するのを手伝ってください..

4

2 に答える 2

2

Converterこれらの文字列を追加するwhichを使用する必要があります。

public class ImagePathConverter : IValueConverter
{             
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parametr, CultureInfo culture)
    {
        var imgPath = "./Images/{0}";
        return string.Format(imgPath, value);
    }

    public object ConvertBack(object value, Type targetType, object parametr, CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion

}

そしてxaml

<Page.Resources>
   <converters:ImagePathConverter x:Key="imagePathConverter"/>
   ...
</Page.Resources>   

   ...

<HyperlinkButton Content="Preview"  NavigateUri="{Binding image_value, Converter={StaticResource imagePathConverter}}" TargetName="_blank" />

*パスをハードコーディングしないことをお勧めしますが、より柔軟性のあるリソースファイルに入れてください。

于 2012-11-01T14:46:20.613 に答える
0

ハイ私は解決策を見つけました..

 <HyperlinkButton Content="Preview" Margin="2"  NavigateUri="{Binding String_Value,StringFormat='http://localhost:23411/ClientBin/Images/{0}'}" VerticalAlignment="Center" TargetName="_blank" />

私はこれを自分のコードに入れましたが、うまくいきました..

于 2012-11-02T05:59:48.227 に答える