ContextMenuService.Placement 附加属性

定义

获取或设置指定 ContextMenu 相对于 PlacementTargetPlacementRectangle 的位置的值。

see GetPlacement, and SetPlacement
see GetPlacement, and SetPlacement
see GetPlacement, and SetPlacement

示例

以下示例将相同的 ContextMenu 分配给两个按钮,并将 HasDropShadowPlacementPlacementRectangleHorizontalOffset、 和 VerticalOffset 属性设置为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>

注解

可以通过设置 、、PlacementRectanglePlacementHorizontalOffsetVerticalOffsetProperty 属性来PlacementTarget定位 ContextMenu 。 这些属性的行为与对 Popup的行为相同。 有关详细信息,请参阅 Popup 放置行为

依赖项属性信息

标识符字段 PlacementProperty
元数据属性设置为 true

适用于

另请参阅