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 集合中,加入即將代表裝飾項的控制項。
您可以呼叫 SetHorizontalStretch 和 SetVerticalStretch 方法,調整相對於所裝飾之控制項的裝飾項面板大小。
若要調整裝飾項的大小和位置,請建立 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) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
請參閱
參考
Microsoft.Windows.Design.Interaction 命名空間