【发布时间】:2012-08-20 14:27:07
【问题描述】:
我尝试将 DateTimeFormatCultureConverter 实现到DataGridTextColumn。
它可以工作,我可以调试它,但 它根本不会改变 DateTime 格式。所以我看不到任何可见的变化......
(我总是可以使用return formated; // DateTime.Parse(formated);
但在这种情况下,按 ASC/DESC 对字段进行排序是行不通的。)
有什么线索吗?
谢谢!
代码
public class DateTimeFormatCultureConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
DateTime originalValue = (DateTime)value;
CultureInfo currentUICulture = Thread.CurrentThread.CurrentUICulture;
if (currentUICulture.EnglishName.Contains("Spanish") || currentUICulture.EnglishName.Contains("Portuguese"))
{
string formated = string.Format("{0}/{1}/{2}", originalValue.Day, originalValue.Month, originalValue.Year);
return DateTime.Parse(formated);
}
else
{
string formated = string.Format("{0}/{1}/{2}", originalValue.Month, originalValue.Day, originalValue.Year);
return DateTime.Parse(formated);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
数据网格
<sdk:DataGridTextColumn x:Name="txcInstalled"
CanUserReorder="True"
CanUserResize="True"
CanUserSort="True"
Width="Auto"
Binding="{Binding Installed, Converter={StaticResource DateTimeFormatCultureConverter}}"
IsReadOnly="True" />
【问题讨论】:
标签: c# .net silverlight xaml