다음을 통해 공유


ContextMenuService 클래스

정의

ContextMenu를 표시하기 위한 시스템 구현을 제공합니다.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
상속
ContextMenuService

예제

다음 예제에서는 두 개의 단추에 동일한 ContextMenu 를 할당하고 , , PlacementRectanglePlacement, HorizontalOffsetVerticalOffset 속성을 설정HasDropShadow하여 를 각 단추의 다른 위치로 설정합니다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 의해 정의됩니다. 이러한 속성이 및 ContextMenuService둘 다 ContextMenu 에 설정된 경우 의 속성 값 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가 열리면 발생합니다.

적용 대상

추가 정보