次の方法で共有


ItemPolicy クラス

デザイナーでの規則のセットを指定するポリシーです。

継承階層

System.Object
  Microsoft.Windows.Design.Policies.ItemPolicy
    Microsoft.Windows.Design.Policies.SelectionPolicy

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

構文

'宣言
Public MustInherit Class ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
[<AbstractClass>]
type ItemPolicy =  class end
public abstract class ItemPolicy

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

コンストラクター

  名前 説明
プロテクト メソッド ItemPolicy ItemPolicy クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
プロテクト プロパティ Context デザイナーの編集コンテキストを取得します。
パブリック プロパティ IsSurrogate ポリシーがサロゲート ポリシーであるかどうかを示す値を取得します。
パブリック プロパティ PolicyItems ポリシー内のすべてのアイテムの列挙体を取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Equals 指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetSurrogateItems このアイテムに対するオプションのサロゲート アイテムのセットを返します。
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnActivated ポリシーがアクティブになったときに呼び出されます。
プロテクト メソッド OnDeactivated ポリシーが非アクティブになったときに呼び出されます。
プロテクト メソッド OnPolicyItemsChanged PolicyItemsChanged イベントを発生させます。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント PolicyItemsChanged ポリシーが変更されると発生します。

このページのトップへ

解説

アイテムのセットと、対応する機能プロバイダーを関連付けるには、抽象 ItemPolicy クラスから派生します。

ポリシーを使用して、デザイナーで実行されているアイテムの拡張機能を検出します。 ポリシーは、ツール、装飾、および拡張可能なデザイナーのその他の領域によって使用されます。 SelectionPolicy クラスは、選択の変更を監視し、選択が変更されたときに PolicyItemsChanged イベントを発生させるポリシーの例です。 デザイナーは、実行中のすべてのポリシーについて変更イベントを処理し、適切なアクションを実行します。 SelectionPolicy の場合は、使用可能にするアクティブなタスクのセットと、デザイン サーフェイス上に表示する装飾のセットを取得します。

デザイナーがメタデータからポリシーの種類を検出するたびに、そのポリシーのインスタンスが 1 つアクティブになります。 ポリシーはデザイナーの有効期間中存続し、デザイナーが破棄されるまで非アクティブになることはありません。 プロセス グローバルなリソースへの参照を保持するポリシーがある場合は、ポリシー マネージャーの終了時に呼び出される OnDeactivated メソッドを実装してください。

サロゲート ポリシーは、機能プロバイダーを検索するために使用される代替アイテムのセットを提供します。 多くの場合、サロゲート ポリシーは、子に追加タスクと装飾を提供するコントロール コンテナーによって使用されます。 このシナリオでは、コンテナーがサロゲート ポリシーを提供し、その GetSurrogateItems メソッドからは、指定したアイテムの親が返されます。

主要選択のカスタム サロゲート ポリシーを実装する方法を次のコード例に示します。 コード全体については、「方法 : サロゲート ポリシーを作成する」を参照してください。

' The DockPanelPolicy class implements a surrogate policy that
' provides container semantics for a selected item. By using 
' this policy, the DemoDockPanel container control offers 
' additional tasks and adorners on its children. 
Class DockPanelPolicy
    Inherits PrimarySelectionPolicy

    Public Overrides ReadOnly Property IsSurrogate() As Boolean 
        Get
            Return True
        End Get
    End Property

    Public Overrides Function GetSurrogateItems( _
        ByVal item As Microsoft.Windows.Design.Model.ModelItem) _
        As System.Collections.Generic.IEnumerable( _
        Of Microsoft.Windows.Design.Model.ModelItem)

        Dim parent As ModelItem = item.Parent

        Dim e As New System.Collections.Generic.List(Of ModelItem)

        If (parent IsNot Nothing) Then

            e.Add(parent)

        End If

        Return e

    End Function

End Class
// The DockPanelPolicy class implements a surrogate policy that
// provides container semantics for a selected item. By using 
// this policy, the DemoDockPanel container control offers 
// additional tasks and adorners on its children. 
class DockPanelPolicy : PrimarySelectionPolicy 
{
    public override bool IsSurrogate 
    {
        get 
        { 
            return true;
        }
    }

    public override IEnumerable<ModelItem> GetSurrogateItems(ModelItem item) 
    {
        ModelItem parent = item.Parent;

        if (parent != null)
        {
            yield return parent;
        }
    }
}

スレッド セーフ

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

参照

参照

Microsoft.Windows.Design.Policies 名前空間

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

その他の技術情報

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

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