に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" />