我在twoway模式下在windows store app中使用转换器。
public object ConvertBack(object value, Type targetType,
object parameter, string language)
{
return ((DateTime)value).ToString("yyyy-MM-dd");
}
另一种方法:
public object ConvertBack(object value, Type targetType,
object parameter, string language)
{
DateTime dt;
DateTime.TryParseExact(value.ToString(),
"yyyy-MM-dd",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out dt);
return dt;
}
谁能告诉我为什么这对我不起作用?和afkors,如何解决?
从datePicker转换器获取此字符串:19.1.2014 15:43:02 +01:00
并且无法转换。
错误消息:转换器无法转换类型的值 'System.DateTime,mscorlib,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = b77a5c561934e089'键入'DateTime'; BindingExpression:Path ='DateFrom' DataItem ='Infomed21_Mbx.Data.resultFilter,Infomed21-Mbx, Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null';目标要素 是'Windows.UI.Xaml.Controls.DatePicker'(Name ='datePicker_from'); target属性是'Date'(类型'DateTime')
答案 0 :(得分:0)
DateTime不知道如何处理该字符串。尝试使用DateTime.ParseExact显式设置预期的字符串格式。
答案 1 :(得分:0)
这是我在WP8项目中使用的DateTime转换器。他们应该毫无困难地在W8上工作
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
DateTime date = (DateTime)value;
return date.ToShortDateString();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string strValue = value as string;
DateTime resultDateTime;
if (DateTime.TryParse(strValue, out resultDateTime))
{
return resultDateTime;
}
return System.Windows.DependencyProperty.UnsetValue;
}