MahApps DataGrid列标题框

时间:2015-10-29 02:59:19

标签: wpf xaml datagrid mahapps.metro

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

现在我不是WPF的专家,甚至不是WPF样式的专家,所以我想知道是否有一个" easy"方法只重置那里使用的TextBlock的大小写,或者我必须重新定义一个完整的DataGrid样式。

提前致谢, 托马斯

1 个答案:

答案 0 :(得分:15)

您可以通过为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日)