WPF-DataTemplate中使用转换器转换日期为string类型

1、定义DateTimeToStringConverter 转换器类

namespace APPTest.Common.Tools
{
    public class DateTimeToStringConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is DateTime dateTime)
            {
                return dateTime.ToString((string)parameter);
            }
            return null;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            //throw new NotImplementedException();
            if (value is string stringValue)
            {
                DateTime resultDateTime;
                if (DateTime.TryParseExact(stringValue, parameter as string, culture, DateTimeStyles.None, out resultDateTime))
                {
                    return resultDateTime;
                }
            }
            return DependencyProperty.UnsetValue;
        }
    }
}

2、xaml添加命名空间

<xmlns:local="clr-namespace:xxx.Common.Tools" />

3、xaml资源区添加转换器类的实例

<UserControl.Resources>
    <local:DateTimeToStringConverter x:Key="DateTimeConverter"/>
</UserControl.Resources>

4、绑定中引用转换器

<xctk:DateTimeUpDown
    Margin="0,0,0,0" 
    Text="{Binding alertTime, Converter={StaticResource DateTimeConverter}, ConverterParameter='yyyy-MM-dd HH:mm'}"
    TextAlignment="Left" 
    Foreground="#555555" 
    Background="#eeeeee" 
    BorderBrush="#e6e6e6" 
    Format="Custom" 
    FormatString="yyyy-MM-dd hh:mm" 
    FontSize="13" />

项目参考:
Felephants-四象限法则任务管理软件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值