AdornerPanel (Clase)

Actualización: noviembre 2007

Proporciona un contenedor para los controles de Windows Presentation Foundation (WPF), que se utilizan en tiempo de diseño como adornos.

Espacio de nombres:  Microsoft.Windows.Design.Interaction
Ensamblado:  Microsoft.Windows.Design.Interaction (en Microsoft.Windows.Design.Interaction.dll)

Sintaxis

Public Class AdornerPanel _
    Inherits Panel

Dim instance As AdornerPanel
public class AdornerPanel : Panel
public ref class AdornerPanel : public Panel
public class AdornerPanel extends Panel

Comentarios

Utilice la clase AdornerPanel para contener adornos en tiempo de diseño. Un adorno es una parte de la interfaz de usuario que adorna otra parte de la interfaz de usuario.

Agregue controles que representarán a los adornos a la colección Children.

Llame a los métodos SetHorizontalStretch y SetVerticalStretch para establecer el tamaño del panel de adornos con respecto al control adornado.

Para establecer el tamaño de los adornos y colocarlos, cree un objeto AdornerPlacementCollection y llame los métodos relacionados con su tamaño y posición. Agregue AdornerPlacementCollection al panel de adornos mediante el método SetPlacements.

Cuando haya configurado el panel de adornos, agréguelo a la colección Adorners de una implementación AdornerProvider.

Los adornos se enlazan a comandos de herramientas mediante la propiedad adjunta Tool. Cuando un mouse se sitúa sobre un adorno, los enlaces del adorno están disponibles como parte de la entrada de datos y del enrutamiento de comandos. Además, el modelo asociado al elemento de la interfaz de usuario adornado se convierte en el valor de “origen” de los movimientos de datos que se generan cuando el adorno está activo.

Ejemplos

En el siguiente ejemplo de código se muestra cómo usar AdornerPanel para hospedar un control Slider, que se utiliza en tiempo de diseño para establecer la propiedad Background del control adornado. Para obtener más información, consulte Tutorial: Crear un adorno en tiempo de diseño.

' Setup the adorner panel.
' All adorners are placed in an AdornerPanel
' for sizing and layout support.
Dim myPanel = Me.Panel

AdornerPanel.SetHorizontalStretch(opacitySlider, AdornerStretch.Stretch)
AdornerPanel.SetVerticalStretch(opacitySlider, AdornerStretch.None)

Dim placement As New AdornerPlacementCollection()

' The adorner's width is relative to the content.
' The slider extends the full width of the control it adorns.
placement.SizeRelativeToContentWidth(1.0, 0)

' The adorner's height is the same as the slider's.
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0)

' Position the adorner above the control it adorns.
placement.PositionRelativeToAdornerHeight(-1.0, 0)

' Position the adorner up 5 pixels. This demonstrates 
' that these placement calls are additive. These two calls
' are equivalent to the following single call:
' PositionRelativeToAdornerHeight(-1.0, -5).
placement.PositionRelativeToAdornerHeight(0, -5)

AdornerPanel.SetPlacements(opacitySlider, placement)
// Setup the adorner panel.
// All adorners are placed in an AdornerPanel
// for sizing and layout support.
AdornerPanel myPanel = this.Panel;

AdornerPanel.SetHorizontalStretch(opacitySlider, AdornerStretch.Stretch);
AdornerPanel.SetVerticalStretch(opacitySlider, AdornerStretch.None);

AdornerPlacementCollection placement = new AdornerPlacementCollection();

// The adorner's width is relative to the content.
// The slider extends the full width of the control it adorns.
placement.SizeRelativeToContentWidth(1.0, 0);

// The adorner's height is the same as the slider's.
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0);

// Position the adorner above the control it adorns.
placement.PositionRelativeToAdornerHeight(-1.0, 0);

// Position the adorner up 5 pixels. This demonstrates 
// that these placement calls are additive. These two calls
// are equivalent to the following single call:
// PositionRelativeToAdornerHeight(-1.0, -5).
placement.PositionRelativeToAdornerHeight(0, -5);

AdornerPanel.SetPlacements(opacitySlider, placement);

Jerarquía de herencia

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Panel
              Microsoft.Windows.Design.Interaction.AdornerPanel

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

AdornerPanel (Miembros)

Microsoft.Windows.Design.Interaction (Espacio de nombres)

Otros recursos

Arquitectura de los adornos

Espacio de diseño y espacio de representación

Proveedores de características y conectores de características