Sdílet prostřednictvím


ContextMenuService Třída

Definice

Poskytuje implementaci systému pro zobrazení .ContextMenu

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Dědičnost
ContextMenuService

Příklady

Následující příklad přiřadí stejné ContextMenu dvě tlačítka a nastaví HasDropShadow, Placement, PlacementRectangle, HorizontalOffset, a VerticalOffset vlastnosti nastavit ContextMenu na různé pozice pro každé tlačítko.

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

Následující příklad ukazuje, jak pomocí služby zobrazit ContextMenu na zakázaném tlačítku. Všimněte si, že vlastnost nastavíte ShowOnDisabled na tlačítku, které je nadřazenou místní nabídkou.

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

Poznámky

Třída ContextMenuService poskytuje připojené vlastnosti, které lze použít k určení vzhledu a umístění místní nabídky. Mnoho vlastností ve ContextMenuService třídě jsou také definovány ContextMenu. Někdy je vhodnější nastavit vlastnosti pomocí ContextMenuService třídy než nastavením vlastností na .ContextMenu Můžete například vytvořit sdílenou ContextMenu více prvky, ale pomocí ContextMenuService třídy určit jinou pozici ContextMenu jednotlivých prvků. Následující vlastnosti jsou definovány třídamiContextMenu.ContextMenuService Pokud jsou některé z těchto vlastností nastaveny na obou ContextMenu a ContextMenuService, hodnota vlastnosti z objektu je ContextMenuService použita.

Můžete také použít ContextMenuService k zobrazení nabídek u zakázaných položek.

Pole

Name Description
ContextMenuClosingEvent

ContextMenuClosing Identifikuje směrovanou událost.

ContextMenuOpeningEvent

Identifikuje připojenou ContextMenuOpening událost.

ContextMenuProperty

Identifikuje připojenou ContextMenu vlastnost.

HasDropShadowProperty

Identifikuje připojenou HasDropShadow vlastnost.

HorizontalOffsetProperty

Identifikuje připojenou HorizontalOffset vlastnost.

IsEnabledProperty

Identifikuje připojenou IsEnabled vlastnost.

PlacementProperty

Identifikuje připojenou Placement vlastnost.

PlacementRectangleProperty

Identifikuje připojenou PlacementRectangle vlastnost.

PlacementTargetProperty

Identifikuje připojenou PlacementTarget vlastnost.

ShowOnDisabledProperty

Identifikuje připojenou ShowOnDisabled vlastnost.

VerticalOffsetProperty

Identifikuje připojenou VerticalOffset vlastnost.

Přidružené vlastnosti

Name Description
ContextMenu

Získá nebo nastaví obsah ContextMenu.

HasDropShadow

Získá nebo nastaví hodnotu, která označuje, zda ContextMenu má povolený stínový efekt.

HorizontalOffset

Získá nebo nastaví hodnotu, která označuje, kde podél směru x umístit ContextMenu s ohledem na nadřazený ovládací prvek.

IsEnabled

Získá nebo nastaví hodnotu, která označuje, zda ContextMenu lze zobrazit.

Placement

Získá nebo nastaví hodnotu, která určuje umístění relativního ContextMenuPlacementTargetPlacementRectanglenebo .

PlacementRectangle

Získá nebo nastaví oblast vzhledem k tomu, ke které je místní nabídka umístěna při otevření.

PlacementTarget

Získá nebo nastaví nadřazený ovládací prvek ContextMenu.

ShowOnDisabled

Získá nebo nastaví hodnotu, která určuje, zda ContextMenu má být zobrazena, když je nadřazený objekt zobrazen šedě.

VerticalOffset

Získá nebo nastaví hodnotu, která označuje, kde podél směru y umístit ContextMenu s ohledem na nadřazený ovládací prvek.

Metody

Name Description
AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Přidá obslužnou rutinu pro připojenou ContextMenuClosing událost.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Přidá obslužnou rutinu pro připojenou ContextMenuOpening událost.

GetContextMenu(DependencyObject)

Získá hodnotu ContextMenu vlastnosti zadaného objektu.

GetHasDropShadow(DependencyObject)

Získá hodnotu, která označuje, zda ContextMenu má stín.

GetHorizontalOffset(DependencyObject)

Získá hodnotu HorizontalOffset vlastnosti zadaného objektu.

GetIsEnabled(DependencyObject)

Získá hodnotu IsEnabled vlastnosti zadaného objektu.

GetPlacement(DependencyObject)

Získá hodnotu Placement vlastnosti zadaného objektu.

GetPlacementRectangle(DependencyObject)

Získá hodnotu PlacementRectangle vlastnosti zadaného objektu.

GetPlacementTarget(DependencyObject)

Získá hodnotu PlacementTarget vlastnosti zadaného objektu.

GetShowOnDisabled(DependencyObject)

Získá hodnotu ShowOnDisabled vlastnosti zadaného objektu.

GetVerticalOffset(DependencyObject)

Získá hodnotu VerticalOffset vlastnosti zadaného objektu.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Odebere obslužnou rutinu ContextMenuClosing připojené události.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Odebere obslužnou rutinu ContextMenuOpening připojené události.

SetContextMenu(DependencyObject, ContextMenu)

Nastaví hodnotu ContextMenu vlastnosti zadaného objektu.

SetHasDropShadow(DependencyObject, Boolean)

Nastaví hodnotu, která označuje, jestli ContextMenu má stín.

SetHorizontalOffset(DependencyObject, Double)

Nastaví hodnotu HorizontalOffset vlastnosti zadaného objektu.

SetIsEnabled(DependencyObject, Boolean)

Nastaví hodnotu IsEnabled vlastnosti zadaného objektu.

SetPlacement(DependencyObject, PlacementMode)

Nastaví hodnotu Placement vlastnosti zadaného objektu.

SetPlacementRectangle(DependencyObject, Rect)

Nastaví hodnotu PlacementRectangle vlastnosti zadaného objektu.

SetPlacementTarget(DependencyObject, UIElement)

Nastaví hodnotu PlacementTarget vlastnosti zadaného objektu.

SetShowOnDisabled(DependencyObject, Boolean)

Nastaví hodnotu ShowOnDisabled vlastnosti zadaného objektu.

SetVerticalOffset(DependencyObject, Double)

Nastaví hodnotu VerticalOffset vlastnosti zadaného objektu.

Přidružené události

Name Description
ContextMenuClosing

Nastane, když se ContextMenu zavře.

ContextMenuOpening

Nastane, když se ContextMenu otevře.

Platí pro

Viz také