[ad_1]
مرحبا الرجال
يرجى التفضل بمشاهدة الصورة التقاطع – Freeimage.host[^]
كما ترون هناك مسافة بيضاء بين RowHeaders وColumnHeaders في DataGrid. لذلك أريد أن أعرف كيف يمكنني تغيير لونه؟
شكرًا.
ما حاولت:
حاولت تغيير خلفية RowHeader، وأيضًا ColumnHeader، لكن لونه لم يتغير.
لقد بحثت في الإنترنت ولكن لم أتمكن من العثور على أي رمز له.
الحل 1
أفضل مكان لفهم عنصر تحكم WPF هو إلقاء نظرة على القالب الافتراضي. بالنسبة لـ DataGrid يمكن العثور عليه هنا: أنماط وقوالب DataGrid – WPF .NET Framework | مايكروسوفت تعلم[^].
ما تشير إليه هو حدد الزر الكل في الزاوية العلوية اليسرى من DataGrid
.
باستخدام الرابط أعلاه، وهذا هو DataGridSelectAllButtonStyle
. هذا هو النمط الأول الموجود في الصفحة المرتبطة أعلاه.
<Style TargetType="{x:Type Button}" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"> <!-- trimmed --> </Style>
قم بالبحث في القالب ويمكنك معرفة مكان تطبيقه. هذا هو النمط الذي تحتاج إلى تعديله.
<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>
لذلك تحتاج إلى تعديل DataGridSelectAllButtonStyle
وتطبيق جديد ControlTemplate
. يوجد رابط في تلك الصفحة سيوجهك حول كيفية إنشاء ملف ControlTemplate
ورابط لعينة في أسفل الصفحة.
[ad_2]
コメント