2015-10-29 65 views
5

我使用优秀的MahApps库来设计我的WPF应用程序,并集成了DataGrid以显示数据库中的行。 MahApps的DataGrid的默认样式以大写显示列标题,但在我的情况下,我需要保留列的原始外框。我想知道是否有一种“简单”的方法来重置在那里使用的TextBlock的外壳,或者如果我不得不重新使用它,定义完整的DataGrid样式。MahApps DataGrid列标题框

由于提前, 托马斯

回答

12

您可以通过创建一个风格只是为了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版本(截至29/10/2015)

+0

非常感谢!它确实需要最新的(预发布)版本。 – ThomasWeiss

+0

啊,不知道这是预发布。为了清晰起见,我会将其编辑到我的答案中 – kskyriacou