ContextMenuService 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供系統實作以顯示 ContextMenu。
public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
- 繼承
-
ContextMenuService
範例
下列範例會將相同的 ContextMenu 指派給兩個按鈕,並將 、 Placement 、 PlacementRectangle 、 HorizontalOffset 和 VerticalOffset 屬性設定 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 類別來指定每個元素的不同位置。 下列屬性是由 ContextMenu 和 ContextMenuService 類別所定義。 如果在 和 ContextMenuService 上 ContextMenu 設定其中任何一個屬性,則會使用 中的 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 的位置。 |
方法
附加事件
ContextMenuClosing |
發生於 ContextMenu 關閉時。 |
ContextMenuOpening |
在 ContextMenu 開啟時發生。 |