.net 在WPF中添加上下文菜单
我有一个WPF用户控件。 在该userControl中,我将拥有多个WPF childControls(继承我的.net 在WPF中添加上下文菜单,.net,wpf,.net,Wpf,我有一个WPF用户控件。 在该userControl中,我将拥有多个WPF childControls(继承我的BaseElement) 我需要每个ChildControl都包含一个指定的上下文菜单(后退、前进命令) 下面的代码不起作用。。。我做错了什么 <UserControl.Resources> <ContextMenu x:Key="ElementContextMenu"> <MenuItem Header="Move backwar
BaseElement
)
我需要每个ChildControl都包含一个指定的上下文菜单(后退、前进命令)
下面的代码不起作用。。。我做错了什么
<UserControl.Resources>
<ContextMenu x:Key="ElementContextMenu">
<MenuItem Header="Move backward"
Name="back"
Click="back_Click" />
<MenuItem Header="Move forward"
Name="forw"
Click="forw_Click" />
</ContextMenu>
<Style TargetType="{x:Type my:BaseElement}">
<Setter Property="ContextMenu"
Value="{DynamicResource ResourceKey=ElementContextMenu}" />
基本样式不会自动应用于派生元素,您需要为每个元素创建一个样式。幸运的是,您可以通过
BasedOn
属性使用样式继承
<UserControl.Resources>
<Style
TargetType="{x:Type my:Element1DerivingFromBase}"
BasedOn="{StaticResource {x:Type my:BaseElement}}" />
<Style
TargetType="{x:Type my:Element2DerivingFromBase}"
BasedOn="{StaticResource {x:Type my:BaseElement}}" />
基本样式不会自动应用于派生元素,您需要为每个元素创建一个样式。幸运的是,您可以通过
BasedOn
属性使用样式继承
<UserControl.Resources>
<Style
TargetType="{x:Type my:Element1DerivingFromBase}"
BasedOn="{StaticResource {x:Type my:BaseElement}}" />
<Style
TargetType="{x:Type my:Element2DerivingFromBase}"
BasedOn="{StaticResource {x:Type my:BaseElement}}" />