ContextMenuService 클래스

정의

ContextMenu를 표시하기 위한 시스템 구현을 제공합니다.Provides the system implementation for displaying a ContextMenu.

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

예제

다음 예에서는 두 개의 단추에 동일한 ContextMenu을 할당 하 고 HasDropShadow, Placement, PlacementRectangle, HorizontalOffsetVerticalOffset 속성을 설정 하 여 각 단추에 대 한 ContextMenu을 다른 위치로 설정 합니다.The following example assigns the same ContextMenu to two buttons and sets the HasDropShadow, Placement, PlacementRectangle, HorizontalOffset, and VerticalOffset properties to set the ContextMenu to different positions for each button.

<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를 표시 하는 방법을 보여 줍니다.The following example shows how to use the service to display a ContextMenu on a disabled button. 상황에 맞는 메뉴의 부모인 단추에 ShowOnDisabled 속성이 설정 되어 있는지 확인 합니다.Notice that you set the ShowOnDisabled property on the button that is the parent of the context menu.

<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 클래스는 상황에 맞는 메뉴의 모양과 위치를 지정 하는 데 사용할 수 있는 연결 된 속성을 제공 합니다.The ContextMenuService class provides attached properties that can be used to specify the appearance and position of a context menu. ContextMenuService 클래스의 많은 속성은 ContextMenu도 정의 됩니다.Many of the properties in the ContextMenuService class are also defined by the ContextMenu. 경우에 따라 ContextMenu속성을 설정 하는 것 보다 ContextMenuService 클래스를 사용 하 여 속성을 설정 하는 것이 더 편리할 수 있습니다.Sometimes it is more convenient to set the properties by using the ContextMenuService class than by setting the properties on a ContextMenu. 예를 들어 여러 요소에서 공유할 ContextMenu를 만들 수 있지만 ContextMenuService 클래스를 사용 하 여 각 요소에 대해 ContextMenu의 다른 위치를 지정 합니다.For example, you can create a ContextMenu to be shared by multiple elements, but use the ContextMenuService class to specify a different position of the ContextMenu for each element. 다음 속성은 ContextMenuContextMenuService 클래스로 정의 됩니다.The following properties are defined by the ContextMenu and ContextMenuService classes. 이러한 속성 중 하나가 ContextMenuContextMenuService모두에 설정 된 경우에는 ContextMenuService의 속성 값이 사용 됩니다.If any of these properties are set on both ContextMenu and the ContextMenuService, the property value from the ContextMenuService is used.

ContextMenuService를 사용 하 여 비활성화 된 항목에 메뉴를 표시할 수도 있습니다.You can also use the ContextMenuService to display menus on disabled items.

필드

ContextMenuClosingEvent

ContextMenuClosing 에 라우트된 이벤트를 나타냅니다.Identifies the ContextMenuClosing routed event.

ContextMenuOpeningEvent

ContextMenuOpening 연결된 이벤트를 식별합니다.Identifies the ContextMenuOpening attached event.

ContextMenuProperty

ContextMenu 연결된 속성을 식별합니다.Identifies the ContextMenu attached property.

HasDropShadowProperty

HasDropShadow 연결된 속성을 식별합니다.Identifies the HasDropShadow attached property.

HorizontalOffsetProperty

HorizontalOffset 연결된 속성을 식별합니다.Identifies the HorizontalOffset attached property.

IsEnabledProperty

IsEnabled 연결된 속성을 식별합니다.Identifies the IsEnabled attached property.

PlacementProperty

Placement 연결된 속성을 식별합니다.Identifies the Placement attached property.

PlacementRectangleProperty

PlacementRectangle 연결된 속성을 식별합니다.Identifies the PlacementRectangle attached property.

PlacementTargetProperty

PlacementTarget 연결된 속성을 식별합니다.Identifies the PlacementTarget attached property.

ShowOnDisabledProperty

ShowOnDisabled 연결된 속성을 식별합니다.Identifies the ShowOnDisabled attached property.

VerticalOffsetProperty

VerticalOffset 연결된 속성을 식별합니다.Identifies the VerticalOffset attached property.

연결된 속성

ContextMenu

ContextMenu의 내용을 가져오거나 설정합니다.Gets or sets the content of a ContextMenu.

HasDropShadow

ContextMenu에 그림자 효과를 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the ContextMenu has the drop shadow effect enabled.

HorizontalOffset

X 방향을 따라 부모 컨트롤을 기준으로 ContextMenu를 배치할 위치를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates where along the x-direction to place the ContextMenu with respect to the parent control.

IsEnabled

ContextMenu를 표시할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the ContextMenu can be shown.

Placement

ContextMenu 또는 PlacementTarget을 기준으로 PlacementRectangle의 배치를 지정하는 값을 가져오거나 설정합니다.Gets or sets a value that specifies the placement of the ContextMenu relative to the PlacementTarget or PlacementRectangle.

PlacementRectangle

위치의 기준이 되는 상황에 맞는 메뉴를 열 때 영역을 가져오거나 설정 합니다.Gets or sets the area relative to which the context menu is positioned when it opens.

PlacementTarget

ContextMenu의 부모 컨트롤을 가져오거나 설정합니다.Gets or sets the parent control of the ContextMenu.

ShowOnDisabled

ContextMenu의 부모가 회색으로 표시될 때 이 컨트롤이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the ContextMenu should be shown when its parent is grayed out.

VerticalOffset

Y 방향을 따라 부모 컨트롤을 기준으로 ContextMenu를 배치할 위치를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates where along the y-direction to place the ContextMenu with respect to the parent control.

메서드

AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuClosing 연결된 이벤트에 대한 처리기를 추가합니다.Adds a handler for the ContextMenuClosing attached event.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuOpening 연결된 이벤트에 대한 처리기를 추가합니다.Adds a handler for the ContextMenuOpening attached event.

GetContextMenu(DependencyObject)

지정된 개체의 ContextMenu 속성 값을 가져옵니다.Gets the value of the ContextMenu property of the specified object.

GetHasDropShadow(DependencyObject)

ContextMenu에 그림자가 적용되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the ContextMenu has a drop shadow.

GetHorizontalOffset(DependencyObject)

지정된 개체의 HorizontalOffset 속성 값을 가져옵니다.Gets the value of the HorizontalOffset property of the specified object.

GetIsEnabled(DependencyObject)

지정된 개체의 IsEnabled 속성 값을 가져옵니다.Gets the value of the IsEnabled property of the specified object.

GetPlacement(DependencyObject)

지정된 개체의 Placement 속성 값을 가져옵니다.Gets the value of the Placement property of the specified object.

GetPlacementRectangle(DependencyObject)

지정된 개체의 PlacementRectangle 속성 값을 가져옵니다.Gets the value of the PlacementRectangle property of the specified object.

GetPlacementTarget(DependencyObject)

지정된 개체의 PlacementTarget 속성 값을 가져옵니다.Gets the value of the PlacementTarget property of the specified object.

GetShowOnDisabled(DependencyObject)

지정된 개체의 ShowOnDisabled 속성 값을 가져옵니다.Gets the value of the ShowOnDisabled property of the specified object.

GetVerticalOffset(DependencyObject)

지정된 개체의 VerticalOffset 속성 값을 가져옵니다.Gets the value of the VerticalOffset property of the specified object.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuClosing 연결된 이벤트에 대한 처리기를 제거합니다.Removes a handler for the ContextMenuClosing attached event.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

ContextMenuOpening 연결된 이벤트에 대한 처리기를 제거합니다.Removes a handler for the ContextMenuOpening attached event.

SetContextMenu(DependencyObject, ContextMenu)

지정된 개체의 ContextMenu 속성 값을 설정합니다.Sets the value of the ContextMenu property of the specified object.

SetHasDropShadow(DependencyObject, Boolean)

ContextMenu에 그림자가 적용되어 있는지 여부를 나타내는 값을 설정합니다.Sets a value that indicates whether the ContextMenu has a drop shadow.

SetHorizontalOffset(DependencyObject, Double)

지정된 개체의 HorizontalOffset 속성 값을 설정합니다.Sets the value of the HorizontalOffset property of the specified object.

SetIsEnabled(DependencyObject, Boolean)

지정된 개체의 IsEnabled 속성 값을 설정합니다.Sets the value of the IsEnabled property of the specified object.

SetPlacement(DependencyObject, PlacementMode)

지정된 개체의 Placement 속성 값을 설정합니다.Sets the value of the Placement property of the specified object.

SetPlacementRectangle(DependencyObject, Rect)

지정된 개체의 PlacementRectangle 속성 값을 설정합니다.Sets the value of the PlacementRectangle property of the specified object.

SetPlacementTarget(DependencyObject, UIElement)

지정된 개체의 PlacementTarget 속성 값을 설정합니다.Sets the value of the PlacementTarget property of the specified object.

SetShowOnDisabled(DependencyObject, Boolean)

지정된 개체의 ShowOnDisabled 속성 값을 설정합니다.Sets the value of the ShowOnDisabled property of the specified object.

SetVerticalOffset(DependencyObject, Double)

지정된 개체의 VerticalOffset 속성 값을 설정합니다.Sets the value of the VerticalOffset property of the specified object.

연결된 이벤트

ContextMenuClosing

ContextMenu이 닫히면 발생합니다.Occurs when the ContextMenu closes.

ContextMenuOpening

ContextMenu가 열리면 발생합니다.Occurs when the ContextMenu opens.

적용 대상

추가 정보