MahApps DataGrid列标题框

Tho*_*iss 9 wpf xaml datagrid mahapps.metro

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

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

托马斯先谢谢你

ksk*_*cou 18

您可以通过为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>
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,资源“MetroDataGridColumnHeader”已替换为“MahApps.Styles.DataGridColumnHeader” (2认同)