[ad_1]
Hai kawan
Silakan lihat gambarnya Persimpangan — Freeimage.host[^]
Seperti yang Anda lihat, ada spasi antara RowHeaders dan ColumnHeaders di DataGrid. Jadi saya perlu tahu bagaimana cara mengubah warnanya?
Terima kasih.
Apa yang saya coba:
Saya mencoba mengubah latar belakang RowHeader, juga ColumnHeader, tetapi warnanya tidak berubah.
Saya mencari di internet tetapi saya tidak dapat menemukan kode apa pun untuk itu.
Solusi 1
Tempat terbaik untuk memahami kontrol WPF adalah dengan melihat Template Default. Untuk DataGrid dapat ditemukan di sini: Gaya dan Templat DataGrid – WPF .NET Framework | Microsoft Belajar[^].
Yang Anda maksud adalah Pilih tombol Semua di pojok kiri atas DataGrid
.
Menggunakan tautan di atas, itulah DataGridSelectAllButtonStyle
. Ini adalah gaya pertama yang ditemukan pada halaman yang ditautkan di atas.
<Style TargetType="{x:Type Button}" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"> <!-- trimmed --> </Style>
Lakukan pencarian pada template dan Anda dapat melihat di mana template tersebut diterapkan. Ini adalah gaya yang perlu Anda modifikasi.
<ControlTemplate TargetType="{x:Type DataGrid}"> <!-- trimmed --> <Button Focusable="false" Command="{x:Static DataGrid.SelectAllCommand}" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /> <!-- trimmed --> </ControlTemplate>
Jadi, Anda perlu memodifikasi DataGridSelectAllButtonStyle
dan menerapkan yang baru ControlTemplate
. Ada link di halaman itu yang akan mengarahkan Anda tentang cara membuat ControlTemplate
dan tautan ke sampel di bagian bawah halaman.
[ad_2]
コメント