C# 奇怪的自动日期格式数据网格
我在Datagrid专栏中得到了这个XAML:C# 奇怪的自动日期格式数据网格,c#,wpf,C#,Wpf,我在Datagrid专栏中得到了这个XAML: <DataGridTemplateColumn SortMemberPath="LiefDat" Width="110" x:Name="columnLieferDatum" > <DataGridTemplateColumn.Header > <Grid>
<DataGridTemplateColumn SortMemberPath="LiefDat" Width="110" x:Name="columnLieferDatum" >
<DataGridTemplateColumn.Header >
<Grid>
<TextBlock Text="Lieferdatum"/>
</Grid>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Width="110" x:Name="lblLiefDat" Content="{Binding LiefDat, StringFormat=\{0:dd.MM.yy HH:mm:ss\}}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}"
Value="True">
<Setter TargetName="lblLiefDat" Property="Foreground" Value="white" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
在XAML中这样添加它是正确的方法您可以这样做。 制作DateTimeConverter,类似于:
public class DateTimeConvertor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var dateTime = (DateTime?)value;
if (dateTime.HasValue)
{
return dateTime.Value.ToString("dd.MM.yyyy");
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
将其介绍给Window/UserControlResources:
<Window.Resources>
<local:DateTimeConvertor x:Key="DateTimeConvertor" />
</Window.Resources>
你可以这样做。 制作DateTimeConverter,类似于:
public class DateTimeConvertor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var dateTime = (DateTime?)value;
if (dateTime.HasValue)
{
return dateTime.Value.ToString("dd.MM.yyyy");
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
将其介绍给Window/UserControlResources:
<Window.Resources>
<local:DateTimeConvertor x:Key="DateTimeConvertor" />
</Window.Resources>
如果你设定
StringFormat=\{0:dd.MM.yy HH:mm:ss\}
然后给出了一种硬编码字符串格式。尝试以下方法:
StringFormat=d
然后动态生成格式。下面是一个小列表,其中有一些示例:
但这要求您使用全局语言设置(就像您已经做的那样)。如果您设置
StringFormat=\{0:dd.MM.yy HH:mm:ss\}
然后给出了一种硬编码字符串格式。尝试以下方法:
StringFormat=d
然后动态生成格式。下面是一个小列表,其中有一些示例:
但这要求您使用全局语言设置(就像您已经做的那样)。您是否将应用程序的区域性设置为“de de”?我将
Thread.CurrentThread.CurrentCulture=new CultureInfo(“de”);Thread.CurrentThread.CurrentUICulture=新文化信息(“de”)代码>初始化组件()后,是否将应用程序的区域性设置为“de de”?我设置Thread.CurrentThread.CurrentCulture=new CultureInfo(“de de”);Thread.CurrentThread.CurrentUICulture=新文化信息(“de”)代码>初始化后组件()未测试,但请确保此解决方案有效,谢谢!我的意思是我的解决方案,没有冒犯:)不要担心:)你得到的反馈越多,学习方法的选择就越多:)未经测试,但也确保此解决方案有效,谢谢!我的意思是为了我的解决方案,没有冒犯:)不要担心:)你得到的反馈越多,学习方法的选择就越多:)