Casing header kolom MahApps DataGrid

Saya menggunakan perpustakaan MahApps yang luar biasa untuk menata aplikasi WPF saya dan telah mengintegrasikan DataGrid untuk menampilkan baris dari database. Gaya default MahApps pada DataGrid menampilkan header kolom dalam huruf besar, tetapi dalam kasus saya, saya harus mempertahankan huruf besar asli kolom.

Sekarang saya bukan ahli dalam WPF dan apalagi dalam gaya WPF, jadi saya bertanya-tanya apakah ada cara "mudah" untuk hanya mengatur ulang casing TextBlock yang digunakan di sana, atau apakah saya harus mendefinisikan ulang DataGrid yang lengkap gaya.

Terima kasih sebelumnya, Thomas


person ThomasWeiss    schedule 29.10.2015    source sumber


Jawaban (1)


Anda dapat melakukan ini dengan membuat gaya hanya untuk DataGridColumnHeader, bukan keseluruhan 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>

Pastikan Anda memiliki MahApps versi terbaru (pra-rilis) (per 29/10/2015)

person kskyriacou    schedule 29.10.2015
comment
Terima kasih banyak! Memang membutuhkan versi terbaru (pra-rilis). - person ThomasWeiss; 29.10.2015
comment
Ah, tidak sadar itu adalah pra-rilis. Saya akan mengeditnya menjadi jawaban saya untuk kejelasan - person kskyriacou; 29.10.2015
comment
Terima kasih banyak BasedOn Metro menyelamatkan hari saya. - person Momo; 24.06.2018
comment
Perhatikan bahwa sumber daya MetroDataGridColumnHeader telah diganti dengan MahApps.Styles.DataGridColumnHeader - person Matt Lacey; 21.01.2021