MahApps DataGrid 列 header 大小写

MahApps DataGrid column header casing

我正在使用优秀的 MahApps 库来设计我的 WPF 应用程序,并集成了一个 DataGrid 来显示数据库中的行。 MahApps 的 DataGrid 默认样式在 upper-case 中显示列 headers,但在我的例子中,我需要保留列的原始大小写。

现在我不是 WPF 方面的专家,更不是 WPF 样式方面的专家,所以我想知道是否有一种 "easy" 方法可以只重置那里使用的 TextBlock 的大小写,或者我是否有re-define 一个完整的 DataGrid 样式。

提前致谢, 托马斯

您可以通过只为 DataGridColumnHeader 而不是整个 DataGrid 创建样式来做到这一点:

<Window xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ... >


    <Window.Resources>
        <Style x:Key="MyColumnHeader" 
               BasedOn="{StaticResource MetroDataGridColumnHeader}" 
               TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="controls:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
        </Style>
    </Window.Resources>

    ...

    <DataGrid ColumnHeaderStyle="{StaticResource MyColumnHeader}"
              ... />

    ...

</Window>

确保您拥有最新(预发布)版本的 MahApps(截至 2015 年 10 月 29 日)