AdornerPanel, classe

Mise à jour : novembre 2007

Fournit un conteneur pour les contrôles Windows Presentation Foundation (WPF), utilisés au moment du design comme ornements.

Espace de noms :  Microsoft.Windows.Design.Interaction
Assembly :  Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)

Syntaxe

Public Class AdornerPanel _
    Inherits Panel

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

Notes

Utilisez la classe AdornerPanel pour stocker des ornements au moment du design. Un ornement est une partie d'interface utilisateur qui en orne une autre.

Ajoutez des contrôles qui représenteront des ornements à la collection Children.

Appelez les méthodes SetHorizontalStretch et SetVerticalStretch pour dimensionner le panneau d'ornement par rapport au contrôle orné.

Pour dimensionner et positionner des ornements, créez un AdornerPlacementCollection et appelez ses méthodes de taille et de position. Ajoutez le AdornerPlacementCollection au panneau d'ornement en utilisant la méthode SetPlacements.

Lorsque votre panneau d'ornement est installé, ajoutez-le à la collection Adorners d'une implémentation AdornerProvider.

Les ornements sont liés aux commandes d'outil via la propriété jointe de l'outil. Lorsqu'une souris survole un ornement, les liaisons de l'ornement sont disponibles dans le cadre de l'entrée et du routage des commandes. Le modèle associé à l'élément d'interface utilisateur orné devient également la valeur « source » de toutes données de mouvement générées lorsque l'ornement est actif.

Exemples

L'exemple de code suivant indique comment utiliser un AdornerPanel pour héberger un contrôle Slider, utilisé au moment du design pour définir la propriété Background du contrôle orné. Pour plus d'informations, consultez Procédure pas à pas : création d'un ornement au moment du design.

' 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);

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres AdornerPanel

Microsoft.Windows.Design.Interaction, espace de noms

Autres ressources

Architecture d'ornement

Espace de disposition et espace de rendu

Fournisseurs de fonctionnalités et connecteurs de fonctionnalités