2015-10-29 15 views
5

Używam wspaniałą bibliotekę MahApps do stylu mojej aplikacji WPF i zintegrowałem DataGrid do wyświetlania wierszy z bazy danych. Domyślna stylizacja obiektu DataGrid w MahApps wyświetla nagłówki kolumn dużymi literami, ale w moim przypadku muszę zachować oryginalną obudowę kolumn.MahApps DataGrid kolumna nagłówek obudowa

Nie jestem ekspertem od WPF, a jeszcze mniej w stylu WPF, więc zastanawiałem się, czy istnieje "łatwy" sposób na zresetowanie tylko obudowy używanej tam blokady TextBlock, czy też musiałbym zdefiniować pełną stylizację DataGrid.

Dzięki z góry, Thomas

Odpowiedz

12

Można to zrobić poprzez stworzenie styl tylko dla DataGridColumnHeader, a nie cały 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> 

Upewnij się, że masz najnowszą (pre-release) wersja MahApps (stan na 29.10.2015)

+0

Wielkie dzięki! To wymaga najnowszej wersji (przedpremierowej). – ThomasWeiss

+0

Ah, nie wiedziałem, że to było wcześniejsze wydanie. Zmienię to w mojej odpowiedzi dla jasności – kskyriacou

Powiązane problemy