次の方法で共有


ContextMenuService クラス

定義

ContextMenu を表示するためのシステム実装を提供します。

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
継承
ContextMenuService

次の例では、同じ ContextMenu を 2 つのボタンに割り当て、、PlacementPlacementRectangleHorizontalOffsetおよび VerticalOffset プロパティを設定HasDropShadowして、 ContextMenu を各ボタンの異なる位置に設定します。

<StackPanel>
  <StackPanel.Resources>
    <ContextMenu x:Key="myContextMenu">
      <MenuItem Header="Item"/>
    </ContextMenu>
  </StackPanel.Resources>

  <!--Both buttons use the same ContextMenu but use the
    properties on ContextMenuService to position them
    differently.-->
  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="False" 
          ContextMenuService.Placement="Relative"
          ContextMenuService.HorizontalOffset="50"
          ContextMenuService.VerticalOffset="-10">
    button 1
  </Button>

  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="True"
          ContextMenuService.Placement="Right"
          ContextMenuService.PlacementRectangle="0,0,30,30">
    button 2
  </Button>
</StackPanel>

次の例は、サービスを使用して、無効になっているボタンに を ContextMenu 表示する方法を示しています。 コンテキスト メニューの ShowOnDisabled 親であるボタンで プロパティを設定していることに注意してください。

<Button Height="30" Content="Disabled Button" IsEnabled="False" 
     ContextMenuService.ShowOnDisabled="True">
  <Button.ContextMenu>
    <ContextMenu>
      <MenuItem Header="Item 1"/>
      <MenuItem Header="Item 2"/>
      <MenuItem Header="Item 3"/>
    </ContextMenu>
  </Button.ContextMenu>
</Button>

注釈

クラスには ContextMenuService 、コンテキスト メニューの外観と位置を指定するために使用できる添付プロパティが用意されています。 クラスの ContextMenuService プロパティの多くは、 によって ContextMenuも定義されます。 クラスを使用 ContextMenuService してプロパティを設定する方が、 のプロパティを設定 ContextMenuするよりも便利な場合があります。 たとえば、複数の要素で共有する を ContextMenu 作成できますが、 クラスを ContextMenuService 使用して各要素に対して の異なる位置を ContextMenu 指定できます。 次のプロパティは、 クラスと ContextMenuService クラスによってContextMenu定義されます。 と の両方ContextMenuContextMenuServiceでこれらのプロパティのいずれかが設定されている場合は、 のContextMenuServiceプロパティ値が使用されます。

を使用 ContextMenuService して、無効な項目にメニューを表示することもできます。

フィールド

ContextMenuClosingEvent

ContextMenuClosing ルーティング イベントを識別します。

ContextMenuOpeningEvent

ContextMenuOpening 添付イベントを識別します。

ContextMenuProperty

ContextMenu 添付プロパティを識別します。

HasDropShadowProperty

HasDropShadow 添付プロパティを識別します。

HorizontalOffsetProperty

HorizontalOffset 添付プロパティを識別します。

IsEnabledProperty

IsEnabled 添付プロパティを識別します。

PlacementProperty

Placement 添付プロパティを識別します。

PlacementRectangleProperty

PlacementRectangle 添付プロパティを識別します。

PlacementTargetProperty

PlacementTarget 添付プロパティを識別します。

ShowOnDisabledProperty

ShowOnDisabled 添付プロパティを識別します。

VerticalOffsetProperty

VerticalOffset 添付プロパティを識別します。

添付プロパティ

ContextMenu

ContextMenu のコンテンツを取得または設定します。

HasDropShadow

ContextMenu に有効なドロップ シャドウ効果があるかどうか示す値を取得または設定します。

HorizontalOffset

x 方向に沿って親コントロールを基準として ContextMenu を配置する場所を示す値を取得または設定します。

IsEnabled

ContextMenu を表示できるかどうかを示す値を取得または設定します。

Placement

ContextMenu または PlacementTarget に対して相対的な PlacementRectangle の配置を指定する値を取得または設定します。

PlacementRectangle

コンテキスト メニューが開くときに配置の基準となる領域を取得または設定します。

PlacementTarget

ContextMenu の親コントロールを取得または設定します。

ShowOnDisabled

親が灰色表示されている場合に ContextMenu を表示するかどうかを示す値を取得または設定します。

VerticalOffset

y 方向に沿って親コントロールを基準として ContextMenu を配置する場所を示す値を取得または設定します。

メソッド

AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuClosing 添付イベントのハンドラーを追加します。

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuOpening 添付イベントのハンドラーを追加します。

GetContextMenu(DependencyObject)

指定したオブジェクトの ContextMenu プロパティの値を取得します。

GetHasDropShadow(DependencyObject)

ContextMenu にドロップ シャドウがあるかどうかを示す値を取得します。

GetHorizontalOffset(DependencyObject)

指定したオブジェクトの HorizontalOffset プロパティの値を取得します。

GetIsEnabled(DependencyObject)

指定したオブジェクトの IsEnabled プロパティの値を取得します。

GetPlacement(DependencyObject)

指定したオブジェクトの Placement プロパティの値を取得します。

GetPlacementRectangle(DependencyObject)

指定したオブジェクトの PlacementRectangle プロパティの値を取得します。

GetPlacementTarget(DependencyObject)

指定したオブジェクトの PlacementTarget プロパティの値を取得します。

GetShowOnDisabled(DependencyObject)

指定したオブジェクトの ShowOnDisabled プロパティの値を取得します。

GetVerticalOffset(DependencyObject)

指定したオブジェクトの VerticalOffset プロパティの値を取得します。

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuClosing 添付イベントのハンドラーを削除します。

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuOpening 添付イベントのハンドラーを削除します。

SetContextMenu(DependencyObject, ContextMenu)

指定したオブジェクトの ContextMenu プロパティの値を設定します。

SetHasDropShadow(DependencyObject, Boolean)

ContextMenu にドロップ シャドウがあるかどうかを示す値を設定します。

SetHorizontalOffset(DependencyObject, Double)

指定したオブジェクトの HorizontalOffset プロパティの値を設定します。

SetIsEnabled(DependencyObject, Boolean)

指定したオブジェクトの IsEnabled プロパティの値を設定します。

SetPlacement(DependencyObject, PlacementMode)

指定したオブジェクトの Placement プロパティの値を設定します。

SetPlacementRectangle(DependencyObject, Rect)

指定したオブジェクトの PlacementRectangle プロパティの値を設定します。

SetPlacementTarget(DependencyObject, UIElement)

指定したオブジェクトの PlacementTarget プロパティの値を設定します。

SetShowOnDisabled(DependencyObject, Boolean)

指定したオブジェクトの ShowOnDisabled プロパティの値を設定します。

SetVerticalOffset(DependencyObject, Double)

指定したオブジェクトの VerticalOffset プロパティの値を設定します。

添付イベント

ContextMenuClosing

ContextMenu が閉じた場合に発生します。

ContextMenuOpening

ContextMenu が開くときに発生します。

適用対象

こちらもご覧ください