次の方法で共有


UsesItemPolicyAttribute クラス

機能プロバイダーを、指定したポリシーに制限します。

継承階層

System.Object
  System.Attribute
    Microsoft.Windows.Design.RequirementAttribute
      Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute

名前空間:  Microsoft.Windows.Design.Policies
アセンブリ:  Microsoft.Windows.Design.Interaction (Microsoft.Windows.Design.Interaction.dll 内)

構文

'宣言
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True)> _
Public NotInheritable Class UsesItemPolicyAttribute _
    Inherits RequirementAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)]
public sealed class UsesItemPolicyAttribute : RequirementAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true)]
public ref class UsesItemPolicyAttribute sealed : public RequirementAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)>]
type UsesItemPolicyAttribute =  
    class
        inherit RequirementAttribute
    end
public final class UsesItemPolicyAttribute extends RequirementAttribute

UsesItemPolicyAttribute 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
パブリック メソッド UsesItemPolicyAttribute UsesItemPolicyAttribute クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ AllRequired false を返すように RequirementAttribute.AllRequired プロパティをオーバーライドします。 (RequirementAttribute.AllRequired をオーバーライドします。)
パブリック プロパティ ItemPolicyType 機能プロバイダーを関連付けることができるポリシーの種類を取得します。
パブリック プロパティ TypeId この属性の型 ID を取得します。 (Attribute.TypeId をオーバーライドします。)

このページのトップへ

メソッド

  名前 説明
パブリック メソッド CreateSubscription このポリシーが使用可能な場合に通知を受けるために使用できる RequirementSubscription オブジェクトを返します。 (RequirementAttribute.CreateSubscription(EditingContext) をオーバーライドします。)
パブリック メソッド Equals 指定したオブジェクトが、この UsesItemPolicyAttribute と等しいかどうかを判断します。 (Attribute.Equals(Object) をオーバーライドします。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド GetHashCode この属性のハッシュ コードを返します。 (Attribute.GetHashCode() をオーバーライドします。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsDefaultAttribute 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。)
パブリック メソッド Match 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
パブリック メソッド MeetsRequirement 指定した編集コンテキストに、この属性インスタンスと関連付けられている ItemPolicyType が含まれているかどうかを示す値を返します。 (RequirementAttribute.MeetsRequirement(EditingContext) をオーバーライドします。)
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

明示的インターフェイスの実装

  名前 説明
明示的なインターフェイス実装プライベート メソッド _Attribute.GetIDsOfNames 名前のセットを対応するディスパッチ識別子のセットにマッピングします。 (Attribute から継承されます。)
明示的なインターフェイス実装プライベート メソッド _Attribute.GetTypeInfo オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。 (Attribute から継承されます。)
明示的なインターフェイス実装プライベート メソッド _Attribute.GetTypeInfoCount オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 (Attribute から継承されます。)
明示的なインターフェイス実装プライベート メソッド _Attribute.Invoke オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。 (Attribute から継承されます。)

このページのトップへ

解説

すべての機能拡張がポリシーをサポートするわけではありません。

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.
        AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft)
        AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop)

        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.
        AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft);
        AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop);

        AdornerPanel p = new AdornerPanel();
        p.Children.Add(r);

        AdornerPanel.SetTask(r, new DockPanelMarginTask());

        Adorners.Add(p);
    }
} 

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

Microsoft.Windows.Design.Policies 名前空間

ItemPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

その他の技術情報

機能プロバイダーと機能コネクタ

WPF デザイナーの機能拡張について