我的WPF-DataGrid中的FormatString存在一个小问题。我使用DataGridTextColumn作为列。我的DataSource是IList<IDictionary<string, string>>
我的问题是,如果我设置StringFormat
,它对列没有任何影响。
这是我的绑定代码:
cColumn.Binding = new Binding("[" + Config.InternName.ToLower() + "]");
这就是我设置FormatString的方式:
#region [Date-Time Formating]
if (Config.DateTimeFormat.Trim() != "")
{
string cDateTimeFormat = Config.DateTimeFormat.Trim();
(cColumn.Binding as Binding).StringFormat = cDateTimeFormat;
}
#endregion
我已经尝试了很多DateTime-StringFomrats,但没有解决我的问题。
谢谢!
答案 0 :(得分:0)
这是我的解决方案: 我不能简单地使用FormatString,而不绑定日期时间。所以我写了一个IValueconverter:
public class StringDateTimeValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
DateTime cOutDateTime = DateTime.Now;
if (DateTime.TryParse(value.ToString(), out cOutDateTime))
{
return cOutDateTime;
}
else
{
return DependencyProperty.UnsetValue;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString();
}
}