ContextMenuService Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет системную реализацию для отображения объекта ContextMenu.
public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
- Наследование
-
ContextMenuService
Примеры
В следующем примере две кнопки назначаются ContextMenu одинаково и свойства HasDropShadow, PlacementRectanglePlacement, , HorizontalOffsetи VerticalOffset , чтобы задать 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 позиции элемента для каждого элемента. Следующие свойства определяются классами ContextMenu и ContextMenuService . Если какое-либо из этих свойств задано как для , так ContextMenu и ContextMenuServiceдля , используется значение свойства из 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 |
Получает или задает значение, показывающее, где располагается объект ContextMenu вдоль x-направления по отношению к родительскому элементу управления. |
IsEnabled |
Получает или задает значение, указывающее, может ли отображаться объект ContextMenu. |
Placement |
Получает или задает значение, показывающее расположение объекта ContextMenu относительно PlacementTarget или PlacementRectangle. |
PlacementRectangle |
Получает или задает область, относительно которой позиционируется контекстное меню при открытии. |
PlacementTarget |
Получает или задает родительский элемент управления для объекта ContextMenu. |
ShowOnDisabled |
Получает или задает значение, показывающее, должен ли отображаться объект ContextMenu, когда его родительский элемент становится недоступным. |
VerticalOffset |
Получает или задает значение, показывающее, где располагается объект ContextMenu вдоль y-направления по отношению к родительскому элементу управления. |
Методы
Присоединенные события
ContextMenuClosing |
Происходит при закрытии элемента ContextMenu. |
ContextMenuOpening |
Возникает при открытии ContextMenu. |