Posición de un control PopupPopup Placement Behavior

Un Popup control muestra el contenido en una ventana independiente que flota sobre una aplicación.A Popup control displays content in a separate window that floats over an application. Puede especificar la posición de un Popup relativa a un control, el mouse o la pantalla mediante el uso de la PlacementTarget, Placement, PlacementRectangle, HorizontalOffset, y VerticalOffset propiedades.You can specify the position of a Popup relative to a control, the mouse, or the screen by using the PlacementTarget, Placement, PlacementRectangle, HorizontalOffset, and VerticalOffset properties. Estas propiedades trabajan juntos para proporcionar flexibilidad para especificar la posición de la Popup.These properties work together to give you flexibility in specifying the position of the Popup.

Nota

El ToolTip y ContextMenu clases también definen estas cinco propiedades y se comportan de forma similar.The ToolTip and ContextMenu classes also define these five properties and behave similarly.

Posicionamiento del elemento PopupPositioning the Popup

La colocación de un Popup puede ser relativa a un UIElement o a toda la pantalla.The placement of a Popup can be relative to a UIElement or to the entire screen. El ejemplo siguiente crea cuatro Popup controles que son relativas a un UIElement: en este caso, una imagen.The following example creates four Popup controls that are relative to a UIElement—in this case, an image. Todos los Popup controles tienen la PlacementTarget propiedad establecida en image1, pero cada Popup tiene un valor diferente para la propiedad de colocación.All of the Popup controls have the PlacementTarget property set to image1, but each Popup has a different value for the placement property.

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

La siguiente ilustración muestra la imagen y el Popup controlesThe following illustration shows the image and the Popup controls

Imagen con cuatro controles popupImage with four popup controls

Este sencillo ejemplo muestra cómo establecer el PlacementTarget y Placement propiedades, pero mediante el PlacementRectangle, HorizontalOffset, y VerticalOffset propiedades, debe tener un mayor control sobre la ubicación donde el Popup se coloca.This simple example demonstrates how to set the PlacementTarget and Placement properties, but by using the PlacementRectangle, HorizontalOffset, and VerticalOffset properties, you have even more control over where the Popup is positioned.

Definiciones de términos: Anatomía de un elemento emergenteDefinitions of Terms: The Anatomy of a Popup

Los siguientes términos son útiles para comprender cómo la PlacementTarget, Placement, PlacementRectangle, HorizontalOffset, y VerticalOffset propiedades se relacionan entre sí y el Popup:The following terms are useful in understanding how the PlacementTarget, Placement, PlacementRectangle, HorizontalOffset, and VerticalOffset properties relate to each other and the Popup:

  • Objeto de destinoTarget object

  • Área de destinoTarget area

  • Origen de destinoTarget origin

  • Punto de alineación del elemento PopupPopup alignment point

Estos términos proporcionan una manera cómoda para hacer referencia a distintos aspectos de la Popup y el control que está asociado.These terms provide a convenient way to refer to various aspects of the Popup and the control that it is associated with.

Objeto de destinoTarget Object

El objeto de destino es el elemento que el Popup está asociado.The target object is the element that the Popup is associated with. Si el PlacementTarget propiedad está establecida, especifica el objeto de destino.If the PlacementTarget property is set, it specifies the target object. Si PlacementTarget no está establecida y el Popup tiene un elemento primario, el elemento primario es el objeto de destino.If PlacementTarget is not set, and the Popup has a parent, the parent is the target object. Si no hay ningún PlacementTarget valor y ningún elemento primario, no hay ningún objeto de destino y el Popup se coloca respecto a la pantalla.If there is no PlacementTarget value and no parent, there is no target object, and the Popup is positioned relative to the screen.

En el ejemplo siguiente se crea un Popup que es el elemento secundario de un Canvas.The following example creates a Popup that is the child of a Canvas. El ejemplo no se establece la PlacementTarget propiedad en el Popup.The example does not set the PlacementTarget property on the Popup. El valor predeterminado de Placement es PlacementMode.Bottom, por lo que Popup aparece debajo de la Canvas.The default value for Placement is PlacementMode.Bottom, so the Popup appears below the Canvas.

<Canvas Margin="5" Background="Red" Width="200" Height="150" >

  <Ellipse Canvas.Top="60" Canvas.Left="50"
           Height="85" Width="60" 
           Fill="Black"/>

  <Popup IsOpen="True" >
    <TextBlock Background="LightBlue" FontSize="18">This is a Popup</TextBlock>
  </Popup>
</Canvas>

La siguiente ilustración muestra que el Popup se coloca respecto a la Canvas.The following illustration shows that the Popup is positioned relative to the Canvas.

Control Popup sin PlacementTargetPopup control with no PlacementTarget

En el ejemplo siguiente se crea un Popup que es el elemento secundario de un Canvas, pero esta vez el PlacementTarget está establecido en ellipse1, por lo que el elemento emergente aparece debajo de la Ellipse.The following example creates a Popup that is the child of a Canvas, but this time the PlacementTarget is set to ellipse1, so the popup appears below the Ellipse.

<Canvas Margin="5" Background="Red" Width="200" Height="150" >

  <Ellipse Name="ellipse1"
           Canvas.Top="60" Canvas.Left="50"
           Height="85" Width="60" 
           Fill="Black"/>

  <Popup IsOpen="True" PlacementTarget="{Binding ElementName=ellipse1}">
    <TextBlock Background="LightBlue" FontSize="18">This is a Popup</TextBlock>
  </Popup>
</Canvas>

La siguiente ilustración muestra que el Popup se coloca respecto a la Ellipse.The following illustration shows that the Popup is positioned relative to the Ellipse.

Control Popup colocado en relación con una elipsePopup positioned relative to an ellipse

Nota

Para ToolTip, el valor predeterminado de Placement es Mouse.For ToolTip, the default value of Placement is Mouse. Para ContextMenu, el valor predeterminado de Placement es MousePoint.For ContextMenu, the default value of Placement is MousePoint. Estos valores se explican más adelante, en "Trabajo en conjunto de las propiedades".These values are explained later, in "How the Properties Work Together."

Área de destinoTarget Area

El área de destino es el área en la pantalla que el Popup es relativa.The target area is the area on the screen that the Popup is relative to. En los ejemplos anteriores, el Popup se alinea con los límites del objeto de destino, pero en algunos casos, el Popup se alinea con otros límites, incluso si la Popup tiene un objeto de destino.In the previous examples, the Popup is aligned with the bounds of the target object, but in some cases, the Popup is aligned to other bounds, even if the Popup has a target object. Si el PlacementRectangle propiedad está establecida, el área de destino es diferente de los límites del objeto de destino.If the PlacementRectangle property is set, the target area is different than the bounds of the target object.

En el ejemplo siguiente se crean dos Canvas objetos, cada uno que contenga un Rectangle y un Popup.The following example creates two Canvas objects, each one containing a Rectangle and a Popup. En ambos casos, el destino de objetos para el Popup es el Canvas.In both cases, the target object for the Popup is the Canvas. El Popup en la primera Canvas tiene la PlacementRectangle establecido, con su X, Y, Width, y Height propiedades establecidas en 50, 50, 50 y 100, respectivamente.The Popup in the first Canvas has the PlacementRectangle set, with its X, Y, Width, and Height properties set to 50, 50, 50, and 100, respectively. El Popup en el segundo Canvas no tiene el PlacementRectangle establecido.The Popup in the second Canvas does not have the PlacementRectangle set. Como resultado, la primera Popup se encuentra debajo de la PlacementRectangle y el segundo Popup se coloca bajo el Canvas.As a result, the first Popup is positioned below the PlacementRectangle and the second Popup is positioned below the Canvas. Cada Canvas también contiene un Rectangle que tiene los mismos límites como el PlacementRectangle para la primera Popup.Each Canvas also contains a Rectangle that has the same bounds as the PlacementRectangle for the first Popup. Tenga en cuenta que el PlacementRectangle no crea un elemento visible en la aplicación; en el ejemplo se crea un Rectangle para representar el PlacementRectangle.Note that the PlacementRectangle does not create a visible element in the application; the example creates a Rectangle to represent the PlacementRectangle.

<StackPanel Orientation="Horizontal" Margin="50,50,0,0">

  <Canvas Width="200" Height="200" Background="Red">
    <Rectangle Canvas.Top="50" Canvas.Left="50" 
               Width="50" Height="100"
               Stroke="White" StrokeThickness="3"/>
    <Popup IsOpen="True" PlacementRectangle="50,50,50,100">
      <TextBlock FontSize="14" Background="Yellow"
                 Width="140" TextWrapping="Wrap">
        This is a popup with a PlacementRectangle.
      </TextBlock>
    </Popup>
  </Canvas>
  
  <Canvas Width="200" Height="200" Background="Red" Margin="30,0,0,0">
    <Rectangle Canvas.Top="50" Canvas.Left="50" 
               Width="50" Height="100"
               Stroke="White" StrokeThickness="3"/>
    <Popup IsOpen="True">
      <TextBlock FontSize="14" Background="Yellow"
                 Width="140" TextWrapping="Wrap">
        This is a popup without a PlacementRectangle.
      </TextBlock>
    </Popup>
  </Canvas>
  
</StackPanel>

En la ilustración siguiente se muestra el resultado del ejemplo anterior.The following illustration shows the result of the preceding example.

Control Popup con y sin PlacementRectanglePopup with and without PlacementRectangle

Origen de destino y punto de alineación del elemento PopupTarget Origin and Popup Alignment Point

El origen de destino y el punto de alineación del elemento Popup son puntos de referencia en el área de destino y el elemento emergente, respectivamente, que se usan para posicionamiento.The target origin and popup alignment point are reference points on the target area and popup, respectively, that are used for positioning. Puede usar el HorizontalOffset y VerticalOffset propiedades que se va a desplazar la ventana emergente del área de destino.You can use the HorizontalOffset and VerticalOffset properties to offset the popup from the target area. El HorizontalOffset y VerticalOffset están en relación con el origen de destino y el punto de alineación emergente.The HorizontalOffset and VerticalOffset are relative to the target origin and the popup alignment point. El valor de la Placement propiedad determina dónde se encuentran el punto de alineación de origen y el elemento emergente de destino.The value of the Placement property determines where the target origin and popup alignment point are located.

En el ejemplo siguiente se crea un Popup y establece el HorizontalOffset y VerticalOffset propiedades a 20.The following example creates a Popup and sets the HorizontalOffset and VerticalOffset properties to 20. El Placement propiedad está establecida en Bottom (valor predeterminado), por lo tanto, el origen de destino es la esquina inferior izquierda del área de destino y el punto de alineación emergente es la esquina superior izquierda de la Popup.The Placement property is set to Bottom (the default), so the target origin is the bottom-left corner of the target area and the popup alignment point is the top-left corner of the Popup.

<Canvas Width="200" Height="200" Background="Yellow" Margin="20">
  <Popup IsOpen="True" Placement="Bottom"
         HorizontalOffset="20" VerticalOffset="20">
    <TextBlock FontSize="14" Background="#42F3FD">
      This is a popup.
    </TextBlock>
  </Popup>
</Canvas>

En la ilustración siguiente se muestra el resultado del ejemplo anterior.The following illustration shows the result of the preceding example.

Posición del elemento emergente con punto de alineación de origen de destinoPopup placement with target origin alignment point

Trabajo en conjunto de las propiedadesHow the Properties Work Together

Los valores de PlacementTarget, PlacementRectangle, y Placement deben tenerse en cuenta conjuntamente para averiguar el área de destino correcto, el origen de destino y el punto de alineación emergente.The values of PlacementTarget, PlacementRectangle, and Placement need to be considered together to figure out the correct target area, target origin, and popup alignment point. Por ejemplo, si el valor de Placement es Mouse, no hay ningún objeto de destino, el PlacementRectangle se omite, y el área de destino es los límites del puntero del mouse.For example, if the value of Placement is Mouse, there is no target object, the PlacementRectangle is ignored, and the target area is the bounds of the mouse pointer. Por otro lado, si Placement es Bottom, PlacementTarget o primario determina el objeto de destino y PlacementRectangle determina el área de destino.On the other hand, if Placement is Bottom, the PlacementTarget or parent determines the target object and PlacementRectangle determines the target area.

En la tabla siguiente se describe el objeto de destino, el área de destino, el origen de destino y el punto de alineación emergente e indica si PlacementTarget y PlacementRectangle se usan para cada PlacementMode valor de enumeración.The following table describes the target object, target area, target origin, and popup alignment point and indicates whether PlacementTarget and PlacementRectangle are used for each PlacementMode enumeration value.

PlacementModePlacementMode Objeto de destinoTarget object Área de destinoTarget area Origen de destinoTarget origin Punto de alineación del elemento PopupPopup alignment point
Absolute No es aplicable.Not applicable. PlacementTarget se omite.PlacementTarget is ignored. La pantalla, o PlacementRectangle si se establece.The screen, or PlacementRectangle if it is set. El PlacementRectangle es relativa a la pantalla.The PlacementRectangle is relative to the screen. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
AbsolutePoint No es aplicable.Not applicable. PlacementTarget se omite.PlacementTarget is ignored. La pantalla, o PlacementRectangle si se establece.The screen, or PlacementRectangle if it is set. El PlacementRectangle es relativa a la pantalla.The PlacementRectangle is relative to the screen. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
Bottom PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina inferior izquierda del área de destino.The bottom-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
Center PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. El centro del área de destino.The center of the target area. El centro de la Popup.The center of the Popup.
Custom PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. Definido por el CustomPopupPlacementCallback.Defined by the CustomPopupPlacementCallback. Definido por el CustomPopupPlacementCallback.Defined by the CustomPopupPlacementCallback.
Left PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior derecha de la Popup.The top-right corner of the Popup.
Mouse No es aplicable.Not applicable. PlacementTarget se omite.PlacementTarget is ignored. Los límites del puntero del mouse.The bounds of the mouse pointer. PlacementRectangle se omite.PlacementRectangle is ignored. La esquina inferior izquierda del área de destino.The bottom-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
MousePoint No es aplicable.Not applicable. PlacementTarget se omite.PlacementTarget is ignored. Los límites del puntero del mouse.The bounds of the mouse pointer. PlacementRectangle se omite.PlacementRectangle is ignored. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
Relative PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
RelativePoint PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
Right PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina superior derecha del área de destino.The top-right corner of the target area. La esquina superior izquierda de la Popup.The top-left corner of the Popup.
Top PlacementTarget o primario.PlacementTarget or parent. El objeto de destino, o PlacementRectangle si se establece.The target object, or PlacementRectangle if it is set. El PlacementRectangle es relativa al objeto de destino.The PlacementRectangle is relative to the target object. La esquina superior izquierda del área de destino.The top-left corner of the target area. La esquina inferior izquierda de la Popup.The bottom-left corner of the Popup.

Las siguientes ilustraciones muestran el Popup, seleccione el área de destino, el origen de destino y la alineación del elemento popup para cada PlacementMode valor.The following illustrations show the Popup, target area, target origin, and popup alignment point for each PlacementMode value. En cada figura, el área de destino está en amarillo y el Popup es azul.In each figure, the target area is yellow, and the Popup is blue.

Elemento emergente con colocación Absolute o AbsolutePointPopup with Absolute or AbsolutePoint placement

Elemento emergente con colocación BottomPopup with Bottom placement

Elemento emergente con colocación CenterPopup with Center placement

Elemento emergente con colocación LeftPopup with Left placement

Elemento emergente con colocación MousePopup with Mouse placement

Elemento emergente con colocación MousePointPopup with MousePoint placement

Elemento emergente con colocación Relative o RelativePointPopup with Relative or RelativePoint placement

Elemento emergente con colocación RightPopup with Right placement

Elemento emergente con colocación TopPopup with Top placement

Cuando el elemento emergente llega al borde de la pantallaWhen the Popup Encounters the Edge of the Screen

Por motivos de seguridad, un Popup no pueden estar ocultos por el borde de una pantalla.For security reasons, a Popup cannot be hidden by the edge of a screen. Una de las tres operaciones siguientes se produce cuando el Popup encuentra un borde de la pantalla:One of the following three things happens when the Popup encounters a screen edge:

  • El elemento emergente se realinea a lo largo del borde de la pantalla que podría oscurecer el Popup.The popup realigns itself along the screen edge that would obscure the Popup.

  • El elemento emergente usa un punto de alineación del elemento Popup distinto.The popup uses a different popup alignment point.

  • El elemento emergente usa un origen de destino y un punto de alineación del elemento Popup distintos.The popup uses a different target origin and popup alignment point.

Estas opciones se describen más adelante en esta sección.These options are described further later in this section.

El comportamiento de la Popup cuando encuentra un borde de la pantalla depende del valor de la Placement propiedad y que el elemento emergente encuentra el borde de la pantalla.The behavior of the Popup when it encounters a screen edge depends on the value of the Placement property and which screen edge the popup encounters. En la tabla siguiente se resume el comportamiento cuando el Popup encuentra un borde de la pantalla para cada PlacementMode valor.The following table summarizes the behavior when the Popup encounters a screen edge for each PlacementMode value.

PlacementModePlacementMode Borde superiorTop edge Borde inferiorBottom edge Borde izquierdoLeft edge Borde derechoRight edge
Absolute Se alinea con el borde superior.Aligns to the top edge. Se alinea con el borde inferior.Aligns to the bottom edge. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.
AbsolutePoint Se alinea con el borde superior.Aligns to the top edge. El punto de alineación del elemento popup cambia a la esquina inferior izquierda de la Popup.The popup alignment point changes to the bottom-left corner of the Popup. Se alinea con el borde izquierdo.Aligns to the left edge. El punto de alineación del elemento popup cambia a la esquina superior derecha de la Popup.The popup alignment point changes to the top-right corner of the Popup.
Bottom Se alinea con el borde superior.Aligns to the top edge. El origen de destino cambia a la esquina superior izquierda del área de destino y el punto de alineación del elemento popup cambia a la esquina inferior izquierda de la Popup.The target origin changes to the top-left corner of the target area and the popup alignment point changes to the bottom-left corner of the Popup. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.
Center Se alinea con el borde superior.Aligns to the top edge. Se alinea con el borde inferior.Aligns to the bottom edge. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.
Left Se alinea con el borde superior.Aligns to the top edge. Se alinea con el borde inferior.Aligns to the bottom edge. El origen de destino cambia a la esquina superior derecha del área de destino y el punto de alineación del elemento popup cambia a la esquina superior izquierda de la Popup.The target origin changes to the top-right corner of the target area and the popup alignment point changes to the top-left corner of the Popup. Se alinea con el borde derecho.Aligns to the right edge.
Mouse Se alinea con el borde superior.Aligns to the top edge. El origen de destino cambia a la esquina superior izquierda del área de destino (los límites del puntero del mouse) y el punto de alineación del elemento popup cambia a la esquina inferior izquierda de la Popup.The target origin changes to the top-left corner of the target area (the bounds of the mouse pointer) and the popup alignment point changes to the bottom-left corner of the Popup. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.
MousePoint Se alinea con el borde superior.Aligns to the top edge. El punto de alineación del elemento popup cambia a la esquina inferior izquierda de la Popup.The popup alignment point changes to the bottom-left corner of the Popup. Se alinea con el borde izquierdo.Aligns to the left edge. El punto de alineación del elemento Popup cambia a la esquina superior derecha del elemento emergente.The popup alignment point changes to the top-right corner of the popup.
Relative Se alinea con el borde superior.Aligns to the top edge. Se alinea con el borde inferior.Aligns to the bottom edge. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.
RelativePoint Se alinea con el borde superior.Aligns to the top edge. El punto de alineación del elemento popup cambia a la esquina inferior izquierda de la Popup.The popup alignment point changes to the bottom-left corner of the Popup. Se alinea con el borde izquierdo.Aligns to the left edge. El punto de alineación del elemento Popup cambia a la esquina superior derecha del elemento emergente.The popup alignment point changes to the top-right corner of the popup.
Right Se alinea con el borde superior.Aligns to the top edge. Se alinea con el borde inferior.Aligns to the bottom edge. Se alinea con el borde izquierdo.Aligns to the left edge. El origen de destino cambia a la esquina superior izquierda del área de destino y el punto de alineación del elemento popup cambia a la esquina superior derecha de la Popup.The target origin changes to the top-left corner of the target area and the popup alignment point changes to the top-right corner of the Popup.
Top El origen de destino cambia a la esquina inferior izquierda del área de destino y el punto de alineación del elemento popup cambia a la esquina superior izquierda de la Popup.The target origin changes to the bottom-left corner of the target area and the popup alignment point changes to the top-left corner of the Popup. De hecho, es la misma que cuando Placement es Bottom.In effect, this is the same as when Placement is Bottom. Se alinea con el borde inferior.Aligns to the bottom edge. Se alinea con el borde izquierdo.Aligns to the left edge. Se alinea con el borde derecho.Aligns to the right edge.

Alineación con el bode de la pantallaAligning to the Screen Edge

Un Popup puede alinear con el borde de la pantalla cambia su posición así que toda la Popup está visible en la pantalla.A Popup can align to the edge of the screen by repositioning itself so the entire Popup is visible on the screen. Cuando esto ocurre, la distancia entre el punto de alineación de origen y el elemento emergente de destino puede diferir de los valores de HorizontalOffset y VerticalOffset.When this occurs, the distance between the target origin and popup alignment point might differ from the values of HorizontalOffset and VerticalOffset. Cuando Placement es Absolute, Center, o Relative, el Popup se alinea con cada borde de la pantalla.When Placement is Absolute, Center, or Relative, the Popup aligns itself to every screen edge. Por ejemplo, supongamos que un Popup tiene Placement establecido en Relative y VerticalOffset establecido en 100.For example, assume that a Popup has Placement set to Relative and VerticalOffset set to 100. Si el borde inferior de la pantalla oculta la totalidad o parte de la Popup, el Popup cambia de posición a lo largo del borde inferior de la pantalla y la distancia vertical entre el origen de destino y el elemento emergente, el punto de alineación es inferior a 100.If the bottom edge of the screen hides all or part of the Popup, the Popup repositions itself along the bottom edge of the screen and the vertical distance between the target origin and popup alignment point is less than 100. Esto se muestra en la siguiente ilustración.The following illustration demonstrates this.

Menú emergente que se alinea con el borde de pantallaPopup that aligns to edge of screen

Cambio del punto de alineación del elemento PopupChanging the Popup Alignment Point

Si Placement es AbsolutePoint, RelativePoint, o MousePoint, el punto de alineación del elemento popup cambia cuando el elemento emergente encuentra el borde inferior o derecho de la pantalla.If Placement is AbsolutePoint, RelativePoint, or MousePoint, the popup alignment point changes when the popup encounters the bottom or right screen edge.

La siguiente ilustración muestra que cuando el borde inferior de la pantalla oculta la totalidad o parte de la Popup, el punto de alineación emergente es la esquina inferior izquierda de la Popup.The following illustration demonstrates that when the bottom screen edge hides all or part of the Popup, the popup alignment point is the bottom-left corner of the Popup.

Nuevo punto de alineación debido al borde inferior de la pantallaNew alignment point due to bottom screen edge

La siguiente ilustración muestra que, cuando el Popup está oculto por el borde derecho de la pantalla, el punto de alineación emergente es la esquina superior derecha de la Popup.The following illustration demonstrates that when the Popup is hidden by the right screen edge, the popup alignment point is the top-right corner of the Popup.

Nuevo punto de alineación emergente debido al borde de la pantallaNew popup alignment point due to screen edge

Si el Popup detecta los bordes inferior y derecho de la pantalla, el punto de alineación emergente es la esquina inferior derecha de la Popup.If the Popup encounters the bottom and right screen edges, the popup alignment point is the bottom-right corner of the Popup.

Cambio del origen de destino y el punto de alineación del elemento PopupChanging the Target Origin and Popup Alignment Point

Cuando Placement es Bottom, Left, Mouse, Right, o Top, cambio de punto de la alineación de origen y el elemento emergente de destino si se encuentra un borde de la pantalla determinado.When Placement is Bottom, Left, Mouse, Right, or Top, the target origin and popup alignment point change if a certain screen edge is encountered. El borde de la pantalla que hace que la posición cambie depende el PlacementMode valor.The screen edge that causes the position to change depends on the PlacementMode value.

La siguiente ilustración muestra que, cuando Placement es Bottom y Popup encuentra el borde inferior de la pantalla, el origen de destino es la esquina superior izquierda del área de destino y el punto de alineación emergente es la esquina inferior izquierda de la Popup.The following illustration demonstrates that when Placement is Bottom and the Popup encounters the bottom screen edge, the target origin is the top-left corner of the target area and the popup alignment point is the bottom-left corner of the Popup.

Nuevo punto de alineación debido al borde inferior de la pantallaNew alignment point due to bottom screen edge

La siguiente ilustración muestra que, cuando Placement es Left y Popup encuentra el borde izquierdo de la pantalla, el origen de destino es la esquina superior derecha del área de destino y el punto de alineación emergente es la esquina superior izquierda de la Popup.The following illustration demonstrates that when Placement is Left and the Popup encounters the left screen edge, the target origin is the top-right corner of the target area and the popup alignment point is the top-left corner of the Popup.

Nuevo punto de alineación debido al borde izquierdo de la pantallaNew alignment point due to left screen edge

La siguiente ilustración muestra que, cuando Placement es Right y Popup encuentra el borde derecho de la pantalla, el origen de destino es la esquina superior izquierda del área de destino y el punto de alineación emergente es la esquina superior derecha de la Popup.The following illustration demonstrates that when Placement is Right and the Popup encounters the right screen edge, the target origin is the top-left corner of the target area and the popup alignment point is the top-right corner of the Popup.

Nuevo punto de alineación debido al borde derecho de la pantallaNew alignment point due to right screen edge

La siguiente ilustración muestra que, cuando Placement es Top y Popup encuentra el borde superior de la pantalla, el origen de destino es la esquina inferior izquierda del área de destino y el punto de alineación emergente es la esquina superior izquierda de la Popup.The following illustration demonstrates that when Placement is Top and the Popup encounters the top screen edge, the target origin is the bottom-left corner of the target area and the popup alignment point is the top-left corner of the Popup.

Nuevo punto de alineación debido al borde superior de la pantallaNew alignment point due to top screen edge

La siguiente ilustración muestra que, cuando Placement es Mouse y Popup encuentra el borde inferior de la pantalla, el origen de destino es la esquina superior izquierda del área de destino (los límites del puntero del mouse) y la alineación del elemento popup punto es la esquina inferior izquierda de la Popup.The following illustration demonstrates that when Placement is Mouse and the Popup encounters the bottom screen edge, the target origin is the top-left corner of the target area (the bounds of the mouse pointer) and the popup alignment point is the bottom-left corner of the Popup.

nuevo punto de alineación debido al ratón está cerca del borde de la pantallanew alignment point due to mouse near screen edge

Personalización de la ubicación del elemento PopupCustomizing Popup Placement

Puede personalizar el punto de alineación de origen y el elemento emergente de destino estableciendo el Placement propiedad Custom.You can customize the target origin and popup alignment point by setting the Placement property to Custom. A continuación, defina un CustomPopupPlacementCallback delegado que devuelve un conjunto de puntos de selección de ubicación posibles y los ejes principales (en orden de preferencia) para el Popup.Then define a CustomPopupPlacementCallback delegate that returns a set of possible placement points and primary axes (in order of preference) for the Popup. El punto que muestra la mayor parte de la Popup está seleccionada.The point that shows the largest portion of the Popup is selected. La posición de la Popup se ajusta automáticamente si el Popup está oculto por el borde de la pantalla.The position of the Popup is automatically adjusted if the Popup is hidden by the edge of the screen. Para ver un ejemplo, consulte cómo especificar una posición emergente personalizada.For an example, see Specify a Custom Popup Position.

Vea tambiénSee also