我有这样的转换器,我做了一次日期从DataPicker选择来获得当前的时间。 在字符串日期我得到的是从的DatePicker选择的价值,但我不能似乎只得到的日期。 即进入Value属性的格式是2013年9月24日12:00:00我想这是2013年9月24日
我正的误差是“错误122无过载用于方法‘的ToString’需要1个参数”
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is DateTime)
{
string date = value.ToString("d/M/yyyy");
return (date);
}
return string.Empty;
}
您需要首先转换为日期时间:
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (value is DateTime)
{
DateTime test = (DateTime) value;
string date = test.ToString("d/M/yyyy");
return date;
}
return string.Empty;
}
你应该投值DateTime
类型,因为没有一个ToString(String f)
的类型方法Object
。
if (value is DateTime)
{
var dateTime = (DateTime)value;
return dateTime.ToString("dd/MM/yyyy");
}
return string.Empty;
在类型的值检查后,您需要将它转换为相应的类型,能够执行“的ToString”与格式参数调用。 尝试:
if (value is DateTime)
{
var dateValue = value as DateTime;
string date = dateValue.ToString("dd/MM/yyyy");
return date;
}
如果您使用的是一个WPF DatePicker控件一个转换器,你应该注意的是,WPF的DatePicker本身会重新格式化日期,尽管您使用转换器 。 您将有风格的日期选择器包括一个的StringFormat 。
还有一个相关的问题在这里:如何只显示月年字符串格式在一个datepicker其中显示了一个附加属性修改的DatePicker的行为显示自定义格式。 这是因为在WPF日期选择控件本身缺陷的需要。
还要注意有一些注意事项,特别是会的DatePicker其默认的StringFormat并应用一个闪烁之间! 我在上面的问题回答了一个自定义格式应用到WPF日期选择一个解决办法 ,而不闪烁。
希望你找到你正在寻找的解决方案。
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is DateTime)
{
string date=value.Date.ToShortDateString();
return (date);
}
return string.Empty;
}