Поделиться через


ContextMenuService Класс

Определение

Предоставляет системную реализацию для отображения ContextMenu.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Наследование
ContextMenuService

Примеры

Следующий пример назначает одинаковые ContextMenu две кнопки и задает HasDropShadowсвойства , PlacementHorizontalOffsetPlacementRectangleи 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 каждого элемента. Следующие свойства определяются классами и 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 .

Применяется к

См. также раздел