Поделиться через


AdornerPanel - класс

Обновлен: Ноябрь 2007

Предоставляет контейнер для элементов управления 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 используется для хранения декоративных элементов времени разработки. Декоративный элемент — это часть пользовательского интерфейса, используемая для оформления другой части интерфейса.

Элементы управления, которые будут представлять декоративные элементы, следует хранить в коллекции Children.

Для изменения размера панели декоративных элементов относительно декорируемого элемента управления используются методы SetHorizontalStretch и SetVerticalStretch.

Для изменения размера и позиции декоративных элементов создается коллекция AdornerPlacementCollection и вызываются ее методы, связанные с заданием размера и позиции. Коллекция AdornerPlacementCollection добавляется в панель декоративных элементов с помощью метода SetPlacements.

Когда панель декоративных элементов настроена, ее следует добавить в коллекцию Adorners реализации AdornerProvider.

Декоративные элементы связываются с командами инструментов через вложенное свойство "Tool". При наведении указателя мыши на декоративный элемент привязки этого элемента становятся доступны в составе схемы маршрутизации ввода и команд. Кроме того, модель, связанная с декорируемым элементом пользовательского интерфейса, становится "исходным" значением любых данных жеста, которые создаются, когда декоративный элемент активен.

Примеры

В следующем примере кода демонстрируется, как использовать панель 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

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

AdornerPanel - члены

Microsoft.Windows.Design.Interaction - пространство имен

Другие ресурсы

Архитектура графического элемента

Пространство макета и пространство визуализации

Поставщики функций и соединительные элементы