1

WPF ユーザー コントロールがあります。その userControl には、複数の WPF childControls(inherits My 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}" />
4

1 に答える 1

1

基本スタイルは派生要素に自動的に適用されないため、それぞれのスタイルを作成する必要があります。幸いなことに、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}}" />
于 2012-04-19T12:44:06.100 に答える