2012-11-01 51 views
0

在使用mvvm的我的Silverlight5應用程序中,需要實現下面的功能。 我有包含圖像的圖像文件夾。如何獲取整個圖像路徑並將其分配給超鏈接按鈕。如何在silverlight中給圖像路徑導航mvvm

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

,但我需要給類似以下的路徑,

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

幫助我實現這個..

+0

所以,什麼問題呢? –

回答

2

您應該使用Converter這將追加這些字符串:

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" /> 

* 我建議不要硬編碼路徑,但把它放到資源文件中,這將給更多的靈活性。

+0

謝謝你AnatoliiG –

0

海我已經找到了解決辦法..

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

我把這個在我的代碼和它的效果很好..