PlacementMode 枚举

定义

描述 Popup 控件在屏幕上显示的位置。

public enum class PlacementMode
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public enum PlacementMode
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type PlacementMode = 
Public Enum PlacementMode
继承
PlacementMode
属性

字段

Absolute 0

Popup 控件的位置,该位置相对于屏幕的左上角,且在由 HorizontalOffsetVerticalOffset 的属性值定义的偏移量处。 如果屏幕边缘遮盖 Popup,则控件会重新定位自身以与边缘对齐。

AbsolutePoint 5

Popup 控件的位置,该位置相对于屏幕的左上角,且在由 HorizontalOffsetVerticalOffset 的属性值定义的偏移量处。 如果屏幕边缘遮盖 Popup,则控件会从 HorizontalOffsetVerticalOffset= 所定义的轴的相反方向扩展。

Bottom 2

控件的位置, Popup 其中 控件的上边缘与 的下边缘对齐, PlacementTarget 并将其左边缘与 的 PlacementTarget左边缘对齐。 如果屏幕下边缘遮盖 Popup,则控件会重新定位自身,以便其下边缘与 PlacementTarget 的上边缘对齐。 如果屏幕上边缘遮盖 Popup,则控件会重新定位自身,以便其上边缘与屏幕上边缘对齐。

Center 3

Popup 上居中的 PlacementTarget 控件的位置。 如果屏幕边缘遮盖 Popup,则控件会重新定位自身以与屏幕边缘对齐。

Custom 11

由 属性指定的CustomPopupPlacementCallback委托定义的CustomPopupPlacementCallback控件的位置和重新定位行为Popup

Left 9

Popup 控件,其右边缘与 PlacementTarget 的左边缘对齐,上边缘与 PlacementTarget 的上边缘对齐。 如果屏幕左边缘遮盖 Popup,则 Popup 会重新定位自身,以便其左边缘与 PlacementTarget 的右边缘对齐。 如果屏幕右边缘遮盖 Popup,则控件的右边缘会与屏幕的右边缘对齐。 如果屏幕上或下边缘遮盖 Popup,则控件会重新定位自身,使其与进行遮盖的屏幕边缘对齐。

Mouse 7

Popup 控件的位置,即控件上边缘与鼠标边界框的下边缘对齐,控件左边缘与鼠标边界框的左边缘对齐。 如果屏幕下边缘遮盖 Popup,则控件会重新定位自身,使其与鼠标边界框的上边缘对齐。 如果屏幕上边缘遮盖 Popup,则控件会重新定位自身,使其与屏幕上边缘对齐。

MousePoint 8

Popup 控件的位置,该位置相对于鼠标光标的顶端,且在由 HorizontalOffsetVerticalOffset 的属性值定义的偏移量处。 如果屏幕水平或垂直边缘遮盖 Popup,则它会从进行遮盖的边缘的相反方向打开。 如果相反方向的屏幕边缘也遮盖 Popup,则它会与进行遮盖的屏幕边缘对齐。

Relative 1

Popup 控件的位置,该位置相对于 PlacementTarget 的左上角,且在由 HorizontalOffsetVerticalOffset 的属性值定义的偏移量处。 如果屏幕边缘遮盖 Popup,则控件会重新定位自身以与屏幕边缘对齐。

RelativePoint 6

Popup 控件的位置,该位置相对于 PlacementTarget 的左上角,且在由 HorizontalOffsetVerticalOffset 的属性值定义的偏移量处。 如果屏幕边缘遮盖 Popup,则 Popup 会从 HorizontalOffsetVerticalOffset 所定义的轴的相反方向扩展。 如果相反方向的屏幕边缘也遮盖 Popup,则控件会与此屏幕边缘对齐。

Right 4

Popup 控件的位置,即控件的左边缘与 PlacementTarget 的右边缘对齐,控件上边缘与 PlacementTarget 的上边缘对齐。 如果屏幕右边缘遮盖 Popup,则控件会重新定位自身,以便其左边缘与 PlacementTarget 的左边缘对齐。 如果屏幕左边缘遮盖 Popup,则控件会重新定位自身,以便其左边缘与屏幕左边缘对齐。 如果屏幕上或下边缘遮盖 Popup,则控件会重新定位自身,使其与进行遮盖的屏幕边缘对齐。

Top 10

Popup 控件的位置,控件下边缘与 PlacementTarget 的上边缘对齐,左边缘与 PlacementTarget 的左边缘对齐。 如果屏幕上边缘遮盖 Popup,则控件会重新定位自身,以便其上边缘与 PlacementTarget 的下边缘对齐。 如果屏幕下边缘遮盖 Popup,则控件的下边缘会与屏幕的下边缘对齐。 如果屏幕左或右边缘遮盖 Popup,则控件会重新定位自身,使其与进行遮盖的屏幕对齐。

示例

以下示例创建四 Popup 个相对于图像的控件。 每个放置 Popup 属性都有不同的值。

<Canvas Width="200" Height="150">
  <Image Name="image1"
         Canvas.Left="75" 
         Source="Water_lilies.jpg" Height="200" Width="200"/>
  <Popup IsOpen="True" PlacementTarget="{Binding ElementName=image1}"
         Placement="Bottom">
    <TextBlock FontSize="14" Background="LightGreen">Placement=Bottom</TextBlock>

  </Popup>
  <Popup IsOpen="True" PlacementTarget="{Binding ElementName=image1}"
         Placement="Top">
    <TextBlock FontSize="14" Background="LightGreen">Placement=Top</TextBlock>

  </Popup>
  <Popup IsOpen="True" PlacementTarget="{Binding ElementName=image1}"
         Placement="Left">
    <TextBlock FontSize="14" Background="LightGreen">Placement=Left</TextBlock>

  </Popup>
  <Popup IsOpen="True" PlacementTarget="{Binding ElementName=image1}"
         Placement="Right">
    <TextBlock FontSize="14" Background="LightGreen">Placement=Right</TextBlock>

  </Popup>
</Canvas>

注解

使用此枚举类的成员来设置 控件的 Popup 属性的值Placement。 属性值Placement以及 、 PlacementRectangleHorizontalOffsetVerticalOffset 属性的值PlacementTarget确定 在屏幕上显示的位置和方式Popup。 有关详细信息,请参阅 Popup 放置行为

适用于

另请参阅