在 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}"/>