首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在silverlight mvvm中为navigateuri提供imagepath

如何在silverlight mvvm中为navigateuri提供imagepath
EN

Stack Overflow用户
提问于 2012-11-01 21:02:18
回答 2查看 214关注 0票数 0

在我使用mvvm的Silverlight5应用程序中,需要获取以下内容。我有一个包含图像的图像文件夹。如何获取整个图像路径并将其分配给超级链接按钮。

代码语言:javascript
复制
<HyperlinkButton Content="Preview"  NavigateUri="{Binding image_value}"
                                                          TargetName="_blank" />

但是我需要给出下面这样的路径,

代码语言:javascript
复制
 ("./Images/{0}", String_Value)

帮我实现这一点..

EN

回答 2

Stack Overflow用户

发布于 2012-11-01 22:46:21

您应该使用Converter,它将附加这些字符串:

代码语言:javascript
复制
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

代码语言:javascript
复制
<Page.Resources>
   <converters:ImagePathConverter x:Key="imagePathConverter"/>
   ...
</Page.Resources>   

   ...

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

*我建议不要对路径进行硬编码,而是将其放入资源文件中,这样可以提供更大的灵活性。

票数 2
EN

Stack Overflow用户

发布于 2012-11-02 13:59:48

嘿,我已经找到解决办法了..

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

我把它放在我的代码中,它工作得很好..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13177678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档