这是我的 DataGridTextColumn 控件之一,如下所示:

<DataGridTextColumn x:Name="contractStartDateColumn" Header="Start Date" Binding="{Binding Path=StartDate, StringFormat={}\{0:dd/MM/yyyy\}}" />

那么如何将 StringFormat={}{0:dd/MM/yyyy} 设置为所有 DataGridTextColumn 控件而不是设置每个控件?

最佳答案

您可以创建自定义绑定(bind)类来设置 StringFormat 并使用它来绑定(bind)值:

public class CustomBinding : Binding
{
    public CustomBinding(string path) : base(path)
    {
        this.StringFormat = @"{0:dd/MM/yyyy}";
    }
}

在 XAML 中:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding TimeList}">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{local:CustomBinding StartDate}" />
    </DataGrid.Columns>
</DataGrid>

10-07 19:02
查看更多