RequirementAttribute 클래스
업데이트: 2007년 11월
RequirementValidator 클래스에 사용되는 특성을 정의합니다.
네임스페이스: Microsoft.Windows.Design
어셈블리: Microsoft.Windows.Design.Extensibility(Microsoft.Windows.Design.Extensibility.dll)
구문
Public MustInherit Class RequirementAttribute _
Inherits Attribute
Dim instance As RequirementAttribute
public abstract class RequirementAttribute : Attribute
public ref class RequirementAttribute abstract : public Attribute
public abstract class RequirementAttribute extends Attribute
설명
추상 RequirementAttribute 클래스에서 파생하여 기능 공급자 및 기능 커넥터의 요구 사항을 지정합니다.
RequirementValidator에서는 RequirementAttribute 특성의 형식을 검사합니다. 발견되는 각 RequirementAttribute에 대해 추상 MeetsRequirement 메서드가 호출되고 EditingContext 클래스의 인스턴스가 전달됩니다. RequiresServiceAttribute와 같은 클래스는 RequirementAttribute에서 파생되며 컨텍스트가 지정된 요구 사항에 맞는지 확인합니다.
이러한 시스템으로 인해 디자이너는 편집 컨텍스트에서 제대로 실행되는 코드만 활성화할 수 있습니다.
RequirementAttribute에서 파생하여 사용자 지정 요구 사항을 정의하고 추상 MeetsRequirement 메서드를 구현합니다.
예제
다음 코드 예제에서는 RequirementAttribute에서 파생되는 UsesItemPolicyAttribute를 사용하여 기능 공급자에 사용자 지정 서로게이트 정책을 연결하는 방법을 보여 줍니다. 전체 코드는 방법: 서로게이트 정책 만들기를 참조하십시오.
' The DockPanelAdornerProvider class implements an adorner
' that you can use to set the Margin property by using a
' drag operation. The DockPanelPolicy class enables a
' container policy for offering additional tasks and
' adorners on the panel's children.
<UsesItemPolicy(GetType(DockPanelPolicy))> _
Class DockPanelAdornerProvider
Inherits AdornerProvider
Public Sub New()
' The adorner is a Rectangle element.
Dim r As New Rectangle()
r.Width = 23.0
r.Height = 23.0
r.Fill = AdornerColors.GlyphFillBrush
' Set the rectangle's placement in the adorner panel.
Dim placement As New AdornerPlacementCollection()
placement.PositionRelativeToAdornerWidth(-1, 0)
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0)
placement.SizeRelativeToAdornerDesiredWidth(1.0, 0)
placement.PositionRelativeToAdornerHeight(-1.0, 0)
AdornerPanel.SetPlacements(r, placement)
Dim p As New AdornerPanel()
p.Children.Add(r)
AdornerPanel.SetTask(r, New DockPanelMarginTask())
Adorners.Add(p)
End Sub
End Class
// The DockPanelAdornerProvider class implements an adorner
// that you can use to set the Margin property by using a
// drag operation. The DockPanelPolicy class enables a
// container policy for offering additional tasks and
// adorners on the panel's children.
[UsesItemPolicy(typeof(DockPanelPolicy))]
class DockPanelAdornerProvider : AdornerProvider
{
public DockPanelAdornerProvider()
{
// The adorner is a Rectangle element.
Rectangle r = new Rectangle();
r.Width = 23.0;
r.Height = 23.0;
r.Fill = AdornerColors.GlyphFillBrush;
// Set the rectangle's placement in the adorner panel.
AdornerPlacementCollection placement = new AdornerPlacementCollection();
placement.PositionRelativeToAdornerWidth(-1, 0);
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0);
placement.SizeRelativeToAdornerDesiredWidth(1.0, 0);
placement.PositionRelativeToAdornerHeight(-1.0, 0);
AdornerPanel.SetPlacements(r, placement);
AdornerPanel p = new AdornerPanel();
p.Children.Add(r);
AdornerPanel.SetTask(r, new DockPanelMarginTask());
Adorners.Add(p);
}
}
상속 계층 구조
System.Object
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
Microsoft.Windows.Design.RequiresContextItemAttribute
Microsoft.Windows.Design.RequiresServiceAttribute
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
참고 항목
참조
Microsoft.Windows.Design 네임스페이스