本例是将12小时制的时间转换为24小时制的时间,已经判断是否为错误时间(若错误不显示),其他转换,以此类推。
1.转换类编写
<span style="font-size:18px;">
namespace WpfApplication1
{
public class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string tmp = ((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss");//转换为24小时制
if (tmp.Equals("0001-01-01 00:00:00"))//解如果为错误时间,不显示
{
tmp = "";
}
return tmp;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}</span>
<span style="font-size:18px;">}
</span>
2.XAML添加代码
命名控件添加:
<span style="font-size:18px;">xmlns:cvt="clr-namespace:WpfApplication1"</span>
资源添加:
<span style="font-size:18px;"><Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
</ResourceDictionary.MergedDictionaries>
<cvt:DateConverter x:Key="cvtDate"/>
</ResourceDictionary>
</Window.Resources></span>
调用:添加代码Converter={StaticResource cvtDate}
<span style="font-size:18px;"> <dxg:GridColumn FieldName="src_create_dttm" Header="时间" AutoFilterCondition="Equals" HorizontalHeaderContentAlignment ="Center">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Center" />
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellTemplate >
<DataTemplate>
<TextBlock Text="{Binding RowData.Row.src_create_dttm, Mode=OneWay,Converter={StaticResource cvtDate}}" HorizontalAlignment="Center" TextWrapping="Wrap"></TextBlock>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn></span>