مثال قائمة السياق قالب التحكم
عناصر تحكم في Windows Presentation Foundation (WPF) بها ControlTemplate التي تحتوي على الشجرة المرئية الخاصة بهذا العنصر. يمكنك تغيير مظهر وبنية عنصر التحكم عن طريق تعديل ControlTemplate الخاصة بهذا العنصر. لا توجد طريقة لاستبدال جزء واحد من الشجرة المرئية لعنصر التحكم ; لتغيير الشجرة المرئية الخاصة بهذا العنصر عليك تعيين خاصية Template الخاصة بعنصر التحكم إلي ControlTemplate جديد وكامل.
يوضح هذا الموضوع ControlTemplate الخاص بعنصر تحكم WPF ContextMenu.
يشتمل هذا الموضوع على الأقسام التالية.
- المتطلبات الأساسية
- مثال قائمة السياق قالب التحكم
- موضوعات ذات صلة
المتطلبات الأساسية
لتشغيل الأمثلة في هذا الموضوع يجب فهم كيفية كتابة تطبيقات WPF. لمزيد من المعلومات، راجع الشروع في استخدام WPF. يجب أيضاً فهم كيفية استخدام أنماط في WPF. لمزيد من المعلومات، راجع التنسيق و القولبة.
مثال قائمة السياق قالب التحكم
على الرغم من أن هذا المثال يحتوي على كافة العناصر التي تم تعريفها في ControlTemplate التابع إلي ContextMenu افتراضياً، القيم المحددة يجب أن يتم اعتبارها كأمثلة.
<Style TargetType="{x:Type ContextMenu}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Grid.IsSharedSizeScope" Value="true"/>
<Setter Property="HasDropShadow" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContextMenu}">
<Border
Name="Border"
Background="{StaticResource WindowBackgroundBrush}"
BorderBrush="{StaticResource SolidBorderBrush}"
BorderThickness="1" >
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="HasDropShadow" Value="true">
<Setter TargetName="Border" Property="Padding" Value="0,3,0,3"/>
<Setter TargetName="Border" Property="CornerRadius" Value="4"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
يستخدم المثال السابق الموارد التالية.
<SolidColorBrush x:Key="WindowBackgroundBrush" Color="#FFF" />
...
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />
للحصول على نموذج كامل راجع نموذج التصميم باستخدام ControlTemplates.
راجع أيضًا:
المبادئ
إرشادات حول تصميم عناصر تحكم قابلة لأخذ نمط