ContextMenuService Classe

Definição

Fornece a implementação do sistema para exibir um ContextMenu.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Herança
ContextMenuService

Exemplos

O exemplo seguinte atribui o mesmo ContextMenu a dois botões e define as HasDropShadowpropriedades , Placement, PlacementRectangle, HorizontalOffset, e VerticalOffset para colocar os ContextMenu em posições diferentes para cada botão.

<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>

O exemplo seguinte mostra como usar o serviço para mostrar a ContextMenu num botão desativado. Repara que defines a ShowOnDisabled propriedade no botão que é o pai do menu de contexto.

<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>

Observações

A ContextMenuService classe fornece propriedades associadas que podem ser usadas para especificar a aparência e a posição de um menu contextual. Muitas das propriedades da ContextMenuService classe também são definidas por .ContextMenu Por vezes, é mais conveniente definir as propriedades usando a ContextMenuService classe do que definindo as propriedades num ContextMenu. Por exemplo, pode criar um ContextMenu a ser partilhado por vários elementos, mas usar a ContextMenuService classe para especificar uma posição diferente do ContextMenu para cada elemento. As seguintes propriedades são definidas pelas ContextMenu classes e.ContextMenuService Se alguma destas propriedades estiver definida tanto em como em ContextMenu , ContextMenuServiceo valor da propriedade de ContextMenuService o é usado.

Também podes usar para ContextMenuService mostrar menus nos itens desativados.

Campos

Name Description
ContextMenuClosingEvent

Identifica o ContextMenuClosing evento encaminhado.

ContextMenuOpeningEvent

Identifica o ContextMenuOpening evento anexado.

ContextMenuProperty

Identifica a ContextMenu propriedade anexada.

HasDropShadowProperty

Identifica a HasDropShadow propriedade anexada.

HorizontalOffsetProperty

Identifica a HorizontalOffset propriedade anexada.

IsEnabledProperty

Identifica a IsEnabled propriedade anexada.

PlacementProperty

Identifica a Placement propriedade anexada.

PlacementRectangleProperty

Identifica a PlacementRectangle propriedade anexada.

PlacementTargetProperty

Identifica a PlacementTarget propriedade anexada.

ShowOnDisabledProperty

Identifica a ShowOnDisabled propriedade anexada.

VerticalOffsetProperty

Identifica a VerticalOffset propriedade anexada.

Propriedades Anexadas

Name Description
ContextMenu

Obtém ou define o conteúdo de um ContextMenu.

HasDropShadow

Recebe ou define um valor que indica se tem ContextMenu o efeito de sombra ativada.

HorizontalOffset

Obtém ou define um valor que indica onde, ao longo da direção x, colocar o ContextMenu relativamente ao controlo parental.

IsEnabled

Obtém ou define um valor que indica se o ContextMenu pode ser mostrado.

Placement

Obtém ou define um valor que especifica a colocação do ContextMenu relativo ao PlacementTarget ou PlacementRectangle.

PlacementRectangle

Obtém ou define a área relativa à qual o menu de contexto está posicionado quando abre.

PlacementTarget

Obtém ou define o controlo pai do ContextMenu.

ShowOnDisabled

Obtém ou define um valor que indica se o ContextMenu deve ser mostrado quando o seu pai está a cinzento.

VerticalOffset

Obtém ou define um valor que indica onde, ao longo da direção y, colocar o ContextMenu relativamente ao controlo parental.

Métodos

Name Description
AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Adiciona um handler para o ContextMenuClosing evento anexado.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Adiciona um handler para o ContextMenuOpening evento anexado.

GetContextMenu(DependencyObject)

Obtém o valor da ContextMenu propriedade do objeto especificado.

GetHasDropShadow(DependencyObject)

Obtém um valor que indica se tem ContextMenu sombra oculta.

GetHorizontalOffset(DependencyObject)

Obtém o valor da HorizontalOffset propriedade do objeto especificado.

GetIsEnabled(DependencyObject)

Obtém o valor da IsEnabled propriedade do objeto especificado.

GetPlacement(DependencyObject)

Obtém o valor da Placement propriedade do objeto especificado.

GetPlacementRectangle(DependencyObject)

Obtém o valor da PlacementRectangle propriedade do objeto especificado.

GetPlacementTarget(DependencyObject)

Obtém o valor da PlacementTarget propriedade do objeto especificado.

GetShowOnDisabled(DependencyObject)

Obtém o valor da ShowOnDisabled propriedade do objeto especificado.

GetVerticalOffset(DependencyObject)

Obtém o valor da VerticalOffset propriedade do objeto especificado.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Remove um handler para o ContextMenuClosing evento anexo.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Remove um handler para o ContextMenuOpening evento anexo.

SetContextMenu(DependencyObject, ContextMenu)

Define o valor da ContextMenu propriedade do objeto especificado.

SetHasDropShadow(DependencyObject, Boolean)

Define um valor que indica se tem ContextMenu uma sombra oculta.

SetHorizontalOffset(DependencyObject, Double)

Define o valor da HorizontalOffset propriedade do objeto especificado.

SetIsEnabled(DependencyObject, Boolean)

Define o valor da IsEnabled propriedade do objeto especificado.

SetPlacement(DependencyObject, PlacementMode)

Define o valor da Placement propriedade do objeto especificado.

SetPlacementRectangle(DependencyObject, Rect)

Define o valor da PlacementRectangle propriedade do objeto especificado.

SetPlacementTarget(DependencyObject, UIElement)

Define o valor da PlacementTarget propriedade do objeto especificado.

SetShowOnDisabled(DependencyObject, Boolean)

Define o valor da ShowOnDisabled propriedade do objeto especificado.

SetVerticalOffset(DependencyObject, Double)

Define o valor da VerticalOffset propriedade do objeto especificado.

Eventos Anexados

Name Description
ContextMenuClosing

Acontece quando o ContextMenu fecho fecha.

ContextMenuOpening

Ocorre quando o ContextMenu abre.

Aplica-se a

Ver também