共用方式為


AdornerPanel 類別

更新:2007 年 11 月

提供 Windows Presentation foundation (WPF) 控制項的容器,這些控制項是在設計階段當做裝飾項來使用。

命名空間:  Microsoft.Windows.Design.Interaction
組件:  Microsoft.Windows.Design.Interaction (在 Microsoft.Windows.Design.Interaction.dll 中)

語法

Public Class AdornerPanel _
    Inherits Panel

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

備註

您可以使用 AdornerPanel 類別來存放設計階段的裝飾項。adorner 屬於使用者介面 (UI) 的一部分,可用來裝飾 UI 中的其他部分。

您可以在 Children 集合中,加入即將代表裝飾項的控制項。

您可以呼叫 SetHorizontalStretchSetVerticalStretch 方法,調整相對於所裝飾之控制項的裝飾項面板大小。

若要調整裝飾項的大小和位置,請建立 AdornerPlacementCollection 並呼叫其與大小和位置有關的方法。您可以使用 SetPlacements 方法,將 AdornerPlacementCollection 加入至裝飾項面板。

設定好裝飾項面板之後,請將它加入至 AdornerProvider 實作的 Adorners 集合。

裝飾項是透過 Tool 附加屬性來繫結至工具命令。當滑鼠停留於裝飾項上方時,裝飾項的繫結就可以當做輸入和命令路由的一部分來使用。同時,與已當做裝飾項使用之 UI 項目有關的模型會變成當裝飾項為啟用狀態時,任何筆勢資料的「原始」值。

範例

在下列程式碼範例中,會說明如何使用 AdornerPanel 來裝載 Slider 控制項,這個控制項是在設計階段用來設定當做裝飾項之控制項的 Background 屬性。如需詳細資訊,請參閱逐步解說:建立設計階段裝飾項

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

繼承階層架構

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

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

AdornerPanel 成員

Microsoft.Windows.Design.Interaction 命名空間

其他資源

裝飾項架構

配置空間和轉譯空間

功能提供者和功能連接器