ContextMenuService 類別

定義

提供系統實作以顯示 ContextMenu

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

範例

下列範例會將相同的 ContextMenu 指派給兩個按鈕,並將 、 PlacementPlacementRectangleHorizontalOffsetVerticalOffset 屬性設定 HasDropShadowContextMenu 為每個按鈕的不同位置。

<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 要由多個專案共用的 ContextMenu ,但使用 ContextMenuService 類別來指定每個元素的不同位置。 下列屬性是由 ContextMenuContextMenuService 類別所定義。 如果在 和 ContextMenuServiceContextMenu 設定其中任何一個屬性,則會使用 中的 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

取得或設定值,這個值會指定相對於 ContextMenuPlacementTargetPlacementRectangle 的位置。

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 開啟時發生。

適用於

另請參閱