ContextMenuService Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 a seguir atribui o mesmo ContextMenu a dois botões e define as HasDropShadowpropriedades , Placement, PlacementRectangle, HorizontalOffsete VerticalOffset para definir o ContextMenu como 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 a seguir mostra como usar o serviço para exibir um ContextMenu em um botão desabilitado. Observe que você define 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>
Comentários
A ContextMenuService classe fornece propriedades anexadas que podem ser usadas para especificar a aparência e a posição de um menu de contexto. Muitas das propriedades na ContextMenuService classe também são definidas pelo ContextMenu. Às vezes, é mais conveniente definir as propriedades usando a ContextMenuService classe do que definindo as propriedades em um ContextMenu. Por exemplo, você pode criar um ContextMenu para ser compartilhado por vários elementos, mas usar a ContextMenuService classe para especificar uma posição diferente do ContextMenu para cada elemento. As propriedades a ContextMenu seguir são definidas pelas classes e ContextMenuService . Se qualquer uma dessas propriedades estiver definida em e ContextMenu no ContextMenuService, o valor da propriedade do ContextMenuService será usado.
Você também pode usar o ContextMenuService para exibir menus em itens desabilitados.
Campos
ContextMenuClosingEvent |
Identifica o evento roteado ContextMenuClosing. |
ContextMenuOpeningEvent |
Identifica o evento ContextMenuOpening anexado. |
ContextMenuProperty |
Identifica a propriedade ContextMenu anexada. |
HasDropShadowProperty |
Identifica a propriedade HasDropShadow anexada. |
HorizontalOffsetProperty |
Identifica a propriedade HorizontalOffset anexada. |
IsEnabledProperty |
Identifica a propriedade IsEnabled anexada. |
PlacementProperty |
Identifica a propriedade Placement anexada. |
PlacementRectangleProperty |
Identifica a propriedade PlacementRectangle anexada. |
PlacementTargetProperty |
Identifica a propriedade PlacementTarget anexada. |
ShowOnDisabledProperty |
Identifica a propriedade ShowOnDisabled anexada. |
VerticalOffsetProperty |
Identifica a propriedade VerticalOffset anexada. |
Propriedades Anexadas
ContextMenu |
Obtém ou define o conteúdo de um ContextMenu. |
HasDropShadow |
Obtém ou define um valor que indica se o ContextMenu tem o efeito de sombra habilitado. |
HorizontalOffset |
Obtém ou define um valor que indica onde na direção x colocar o ContextMenu em relação ao controle pai. |
IsEnabled |
Obtém ou define um valor que indica se o ContextMenu pode ser mostrado. |
Placement |
Obtém ou define um valor que especifica o posicionamento do ContextMenu relativo a PlacementTarget ou PlacementRectangle. |
PlacementRectangle |
Obtém ou define a área em relação à qual o menu de contexto está posicionado ao abrir. |
PlacementTarget |
Obtém ou define o controle pai do ContextMenu. |
ShowOnDisabled |
Obtém ou define um valor que indica se o ContextMenu deve ser mostrado quando seu pai está esmaecido. |
VerticalOffset |
Obtém ou define um valor que indica onde na direção y colocar o ContextMenu em relação ao controle pai. |
Métodos
Eventos Anexados
ContextMenuClosing |
Ocorre quando o ContextMenu é fechado. |
ContextMenuOpening |
Ocorre quando o ContextMenu é aberto. |