具有函数replace()的DataGrid绑定列

时间:2014-03-03 06:06:29

标签: wpf

我有一个小问题

我有一个数据网格

我想做

<DataGrid>
  <DataGrid.Columns>
     <DataGridTextColumn Binding="{Binding **replace(Code_pr,'_', 'PDT')**}" Width="100" Header="Code product"/>
  </DataGrid.Columns>
</DataGrid>

任何人都有解决方案

1 个答案:

答案 0 :(得分:1)

您可以使用ValueConverter

它会引发这样的事情:

public class ReplaceConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value.ToString().Replace('_','PDT');
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value.ToString().Replace('PDT','_');
    }
}

将其添加为XAML中的资源:

<src:ReplaceConverter x:Key="replaceConverter"/>

更改绑定:

<DataGridTextColumn Binding="{Binding Path=Code_pr, Converter={StaticResource replaceConverter}}" Width="100" Header="Code product"/>
相关问题