다음을 통해 공유


AdornerPlacementCollection 클래스

업데이트: 2007년 11월

AdornerPanel 내에서 표시기(Adorner)를 정밀하게 배치합니다.

네임스페이스:  Microsoft.Windows.Design.Interaction
어셈블리:  Microsoft.Windows.Design.Interaction(Microsoft.Windows.Design.Interaction.dll)

구문

Public Class AdornerPlacementCollection _
    Inherits ObservableCollection(Of IAdornerPlacement)

Dim instance As AdornerPlacementCollection
public class AdornerPlacementCollection : ObservableCollection<IAdornerPlacement>
public ref class AdornerPlacementCollection : public ObservableCollection<IAdornerPlacement^>
public class AdornerPlacementCollection extends ObservableCollection<IAdornerPlacement>

설명

AdornerPlacementCollection 클래스를 사용하여 표시되는 컨트롤을 기준으로 AdornerPanel의 위치, 크기 및 배율 속성을 지정합니다.

PositionRelativeToAdornerHeightPositionRelativeToAdornerWidth 메서드를 호출하여 표시기 컨트롤의 높이와 너비를 기준으로 AdornerPanel을 배치합니다.

SizeRelativeToAdornerDesiredWidthSizeRelativeToContentHeight 메서드를 호출하여 표시기 컨트롤의 크기를 기준으로 AdornerPanel의 크기를 조정합니다.

해당 콘텐츠 기반 메서드를 호출하여 표시된 콘텐츠를 기준으로 AdornerPanel의 크기 및 위치를 지정합니다.

크기 및 위치 메서드에 대한 호출은 누적됩니다. 다음 코드 예제에서는 PositionRelativeToAdornerHeight 메서드를 두 번 호출하여 AdornerPanel을 표시된 컨트롤 위쪽에 표시기의 높이에 5픽셀을 더한 만큼의 y축 오프셋을 두고 배치하는 방법을 보여 줍니다.

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

예제

다음 코드 예제에서는 AdornerPlacementCollection을 사용하여 표시기 패널에서 표시기의 위치를 지정하는 방법을 보여 줍니다. 자세한 내용은 연습: 디자인 타임 표시기 만들기를 참조하십시오.

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)
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.Collections.ObjectModel.Collection<IAdornerPlacement>
    System.Collections.ObjectModel.ObservableCollection<IAdornerPlacement>
      Microsoft.Windows.Design.Interaction.AdornerPlacementCollection

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

AdornerPlacementCollection 멤버

Microsoft.Windows.Design.Interaction 네임스페이스

AdornerPanel

PrimarySelectionAdornerProvider

기타 리소스

연습: 디자인 타임 표시기 만들기

연습: 컨트롤 내에 레일 구현

표시기 아키텍처