【问题标题】:MahApps DataGrid column header casingMahApps DataGrid 列标题大小写
【发布时间】:2016-01-29 01:31:26
【问题描述】:

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

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

提前致谢, 托马斯

【问题讨论】:

    标签: wpf xaml datagrid mahapps.metro


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!它确实需要最新(预发布)版本。
    • 啊,不知道这是预发布。为了清楚起见,我会将其编辑到我的答案中
    • 非常感谢 BasedOn Metro 拯救了我的一天。
    • 请注意,资源MetroDataGridColumnHeader已被MahApps.Styles.DataGridColumnHeader替换
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 2010-11-24
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多