2010-01-07 65 views

回答

4

你可以使用一个转换器,它着眼于System.Globalization.CultureInfo.CurrentCulture

public class SmartDateConverter : IValueConverter {    
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { 
     DateTime date; 
     culture = System.Globalization.CultureInfo.CurrentCulture; 
     if (value != null && DateTime.TryParse(value.ToString(), out date)) 
     { 
      string strDate = string.Empty; 
      strDate = date.ToString(culture.DateTimeFormat.ShortDatePattern.ToString()); 
      return strDate; 
     } 
     return null; 
    } 
+1

感谢斯蒂芬。我将不得不将这个转换器应用到每个网格列。是否有办法在全局范围内设置它,以便在看到数据时间字段时自动应用转换器? (有点像主题和风格)。 – 2010-01-07 16:16:20

+0

嗯,你可能能够将转换器应用于控件的数据模板,然后将数据模板应用于每个日期时间列,但我认为问题是每个绑定都需要不同,并将转换器应用于绑定。 如果你可以得到绑定到不需要路径它可能工作。即{绑定,转换器= {StaticResource SmartDateConverter}} – 2010-01-08 05:40:38

相关问题