今天做Silverlight显示数据的时候,前台DataGrid 做数据绑定显示的时候,需要把数据中的换行去掉,这里根据以前对图片处理的类,构造了一个处理换行的类。
类代码: 引用接口IValueConverter
using System;
using System.Windows.Data;
namespace 命名空间
{
public class ToPercentConverter : IValueConverter
{
#region 在载入数据的时候将数据去掉回车符
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value.ToString().Contains("\r"))
return value.ToString().Replace("\r", "");
else
return value;
}
//在页面上操作的时候,将图片类型转换为数据,这里只有在TwoWay的时候才有用
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString().Replace("\r", ""); } #endregion
}
}
}
用户控件引用: 首先引用:xmlns:local="clr-namespace:命名空间",然后引用资源: 在需要转换的地方调用Converter={StaticResource ToPercentConverter}如下:
<sdk:DataGrid Margin="0" Grid.Row="2" BorderThickness="1,0,1,1" d:LayoutOverrides="Width" x:Name="Grid_Data" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" GridLinesVisibility="All" HeadersVisibility="Column" IsEnabled="True" IsReadOnly="True" CanUserReorderColumns="False" FontSize="13.333">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Description, Mode=TwoWay,ValidatesOnDataErrors=True, Converter={StaticResource ToPercentConverter}}" Header="信息内容" Width="*" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
这里只用一个字段为了大家看得清晰。
涉及知识点:IValueConverter接口,引用空间,DataGrid绑定数据,绑定数据(OneTime、OneWay、TowWay)方式。