我需要在哪里为上下文菜单创建一个可以自动应用的样式,我已经尝试了我在网上找到的每个示例,但没有任何效果。我尝试过 MSDN 链接中叙述的风格:http: //msdn.microsoft.com/en-us/library/ms744758 (v=vs.85).aspx
我使用了以下样式,但它不起作用。
<Style x:Key="CStyle" TargetType="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="ContextMenu">
<Border Name="Border"
Background="Red"
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>
谁能指导我实现这一目标?
我尝试将此样式应用于 TextBoxStyle(请参见下面的示例),当我运行它并右键单击文本框的内容时,我看到以下错误:
“'System.Windows.Style' 不是属性 'ContextMenu' 的有效值。” 我在以下风格的任何地方都做错了吗?请指导我。
示例文本框样式:
<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource BaseTextStyle}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="ContextMenu" Value="{StaticResource CStyle}" />
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>