2015-10-29 15 views
5

Ich verwende die ausgezeichnete MahApps-Bibliothek, um meine WPF-App zu stylen, und habe ein DataGrid integriert, um Zeilen aus einer Datenbank anzuzeigen. Der Standard-Stil von MahApps für das DataGrid zeigt die Spaltenüberschriften in Großbuchstaben an, aber in meinem Fall muss ich die ursprüngliche Umrandung der Spalten beibehalten.MahApps DataGrid Spaltenüberschrift Gehäuse

Jetzt bin ich kein Experte für WPF und noch weniger für WPF-Styling, also habe ich mich gefragt, ob es einen "einfachen" Weg gibt, nur das Gehäuse des dort verwendeten TextBlocks zurückzusetzen oder Definieren Sie einen vollständigen DataGrid-Stil.

Vielen Dank im Voraus, Thomas

Antwort

12

Sie können dies tun, indem Sie einen Stil nur für die DataGridColumnHeader, nicht den gesamten Datenraster zu erstellen:

<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> 

Vergewissern Sie sich die neueste (pre-release) haben Version von MahApps (Stand vom 29.10.2015)

+0

Vielen Dank! Es erfordert in der Tat die neueste (Pre-Release-) Version. – ThomasWeiss

+0

Ah, war mir nicht bewusst, dass es die Vorabversion war. Ich bearbeite das in meiner Antwort aus Gründen der Klarheit – kskyriacou

Verwandte Themen