0
私は図書館で私のコントロールのstyle
を宣言:グローバルスタイルでContextMenuをオーバーライドする方法は?
<ContentControl.Resources>
<ContextMenu x:Key="ContextMenu">
<MenuItem Header="{x:Static Drawing:Headers.AddEdge}" Click="AddEdgeClick"/>
<MenuItem Header="{x:Static Drawing:Headers.ChangeID}" Click="ChangeIDClick"/>
<MenuItem Header="{x:Static Drawing:Headers.Remove}" Click="RemoveClick"/>
</ContextMenu>
<Style x:Key="Style" TargetType="{x:Type Drawing:Node}">
<Setter Property="ContextMenu" Value="{StaticResource ContextMenu}"/>
</Style>
</ContentControl.Resources>
<ContentControl.Style>
<StaticResource ResourceKey="Style"/>
</ContentControl.Style>
しかし、動作しないアプリケーションでは、この制御のためのグローバルスタイル...あなたが明示的にスタイルプロパティを設定した場合
<Style TargetType="Drawing:Node">
<Setter Property="ContextMenu" Value="{x:Null}"/>
<EventSetter Event="MouseLeftButtonUp" Handler="DirectoryClicked"/>
</Style>
ああ、すみません。私はコントロールライブラリで最初のサンプルを使用していますが、2番目のサンプルはアプリケーションで使用されています。 –