MahApps DataGrid列标题大小写问题

12

我正在使用出色的MahApps库来为我的WPF应用程序设置样式,并集成了一个DataGrid来显示数据库中的行。MahApps默认的DataGrid样式显示列标题为大写,但在我的情况下,我需要保持列标题的原始大小写。

现在我不是WPF专家,更不懂WPF样式,所以我想知道是否有一种“简单”的方法只重置TextBlock的大小写,或者我是否需要重新定义完整的DataGrid样式。

提前感谢, Thomas

1个回答

24
你可以通过仅为DataGridColumnHeader创建一个样式而不是整个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日的预发布版本)


非常感谢!确实需要最新的(预发布)版本。 - ThomasWeiss
啊,我不知道那是预发布版。为了更清晰,我会在我的回答中进行编辑。 - kkyr
非常感谢,基于Metro让我挽救了这一天。 - Momo
6
请注意,资源MetroDataGridColumnHeader已被替换为MahApps.Styles.DataGridColumnHeader - Matt Lacey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接