在 WPF Datagrid 中编辑日期时如何更改日期格式
How do I change the date format when editing a date in a WPF Datagrid
每当我更改 WPF 数据网格中的日期时,它都会尝试将我的输入转换为 MM-dd-yyyy。
XAML
<Grid>
<DataGrid x:Name="datagrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn x:Name="DGC_CreatedTime" Header="Created" Binding="{Binding CreatedTime, StringFormat=dd/MM/yyyy}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
当数据以正确的格式显示时,dd/MM/yyyy,但是当它尝试更改为类似 04/08/2022 的格式时,它会显示为 08/04/2022。
如果我输入 25/08/2022,那么它不接受日期,因为没有第 25 个月。
我已经检查了语言/区域设置,可以确认它们的格式正确。
我也尝试添加...
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-NZ");
我可以添加 CellEditEnding 事件并将输入的值更改为正确的格式,但似乎应该有更简单的方法。
尝试设置绑定的ConverterCulture
属性:
<DataGridTextColumn x:Name="DGC_CreatedTime" Header="Created"
Binding="{Binding CreatedTime, StringFormat=dd/MM/yyyy,
ConverterCulture=en-NZ}"/>
每当我更改 WPF 数据网格中的日期时,它都会尝试将我的输入转换为 MM-dd-yyyy。
XAML
<Grid>
<DataGrid x:Name="datagrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn x:Name="DGC_CreatedTime" Header="Created" Binding="{Binding CreatedTime, StringFormat=dd/MM/yyyy}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
当数据以正确的格式显示时,dd/MM/yyyy,但是当它尝试更改为类似 04/08/2022 的格式时,它会显示为 08/04/2022。
如果我输入 25/08/2022,那么它不接受日期,因为没有第 25 个月。
我已经检查了语言/区域设置,可以确认它们的格式正确。
我也尝试添加...
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-NZ");
我可以添加 CellEditEnding 事件并将输入的值更改为正确的格式,但似乎应该有更简单的方法。
尝试设置绑定的ConverterCulture
属性:
<DataGridTextColumn x:Name="DGC_CreatedTime" Header="Created"
Binding="{Binding CreatedTime, StringFormat=dd/MM/yyyy,
ConverterCulture=en-NZ}"/>