Freigeben über


AdornerPanel-Klasse

Aktualisiert: November 2007

Stellt einen Container für Windows Presentation Foundation (WPF)-Steuerelemente bereit, die zur Entwurfszeit als Adorner verwendet werden.

Namespace:  Microsoft.Windows.Design.Interaction
Assembly:  Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)

Syntax

Public Class AdornerPanel _
    Inherits Panel

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

Hinweise

Entwurfszeit-Adorner werden in der AdornerPanel-Klasse gespeichert. Ein Adorner ist ein Teil der Benutzeroberfläche, der einen anderen Bestandteil der Benutzeroberfläche erweitert.

Fügen Sie Steuerelemente, die Adorner darstellen sollen, zur Children-Auflistung hinzu.

Rufen Sie die SetHorizontalStretch-Methode und die SetVerticalStretch-Methode auf, um die Größe des Adornerbereichs relativ zum erweiterten Steuerelement anzupassen.

Um die Größe von Adornern zu ändern und Adorner zu positionieren, erstellen Sie eine AdornerPlacementCollection, und rufen Sie deren Methoden auf, die sich auf die Größe und die Position beziehen. Fügen Sie die AdornerPlacementCollection dem Adornerbereich hinzu, indem Sie die SetPlacements-Methode verwenden.

Wenn der Adornerbereich eingerichtet ist, fügen Sie ihn der Adorners-Auflistung einer AdornerProvider-Implementierung hinzu.

Adorner werden über die angefügte Eigenschaft Tool an Toolbefehle gebunden. Wenn der Mauszeiger auf einen Adorner zeigt, stehen die Bindungen des Adorners als Teil des Eingabe- und Befehlsroutings zur Verfügung. Außerdem wird das mit dem erweiterten Benutzeroberflächenelement verknüpfte Modell zum "Ausgangswert" für alle Bewegungsdaten, die bei aktivem Adorner generiert werden.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie ein AdornerPanel zum Hosten eines Slider-Steuerelements verwendet wird, das zur Entwurfszeit zum Festlegen der Background-Eigenschaft des erweiterten Steuerelements dient. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Entwurfszeitadorners.

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

Vererbungshierarchie

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

AdornerPanel-Member

Microsoft.Windows.Design.Interaction-Namespace

Weitere Ressourcen

Adorner-Architektur

Layoutbereich und Renderbereich

Featureanbieter und Featureverbindungen