Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF操作绑定字符串以替换最后一个/之前的所有内容,然后添加不同的前缀_C#_Wpf_String_Datagrid - Fatal编程技术网

C#WPF操作绑定字符串以替换最后一个/之前的所有内容,然后添加不同的前缀

C#WPF操作绑定字符串以替换最后一个/之前的所有内容,然后添加不同的前缀,c#,wpf,string,datagrid,C#,Wpf,String,Datagrid,我正在学习Datagrids,有一个问题我找不到明确的答案。 如何操作绑定字符串来替换上一个/之前的所有内容,然后添加不同的前缀 这将在Datagrid中显示图像 例如,绑定到img变量的是 img:“/img_banner/testBanner.jpg” 最后需要输出的是: http://www.testsite.com/img_thumnail/testBanner.jpg 到目前为止,我已经找到了有关向绑定字符串添加文本的信息,但我想删除部分字符串 以下是我到目前为止得到的信息: <

我正在学习Datagrids,有一个问题我找不到明确的答案。 如何操作绑定字符串来替换上一个/之前的所有内容,然后添加不同的前缀

这将在Datagrid中显示图像

例如,绑定到img变量的是

img:“/img_banner/testBanner.jpg”

最后需要输出的是:

http://www.testsite.com/img_thumnail/testBanner.jpg
到目前为止,我已经找到了有关向绑定字符串添加文本的信息,但我想删除部分字符串

以下是我到目前为止得到的信息:

<Image Source="{Binding img, StringFormat=http://www.testsite.com/img_thumnail{0}}" Height="40"/>


有没有办法在最后一次/?之前轻松地修剪所有内容?

您可以使用
IValueConverter

public class MyUrlConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if(value == null)
            {
                return null;
            }
            var urlString = value as string;

            //now do whatever you want to do with the string
            //then return it
            return urlString;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
然后将其添加到您的资源中

<Window.Resources>
   <local:MyUrlConverter x:Key="conv"></local:MyUrlConverter>
</Window.Resources>

并将其用作:

 <Image Source="{Binding img,Converter={StaticResource ResourceKey=conv}}"></Image>

注意,如果逻辑依赖于视图模型,那么最好在img属性的getter或setter中执行操作