次の方法で共有


SelectionPolicy クラス

選択に含まれているすべてのアイテムを使用可能にするポリシーです。

継承階層

System.Object
  Microsoft.Windows.Design.Policies.ItemPolicy
    Microsoft.Windows.Design.Policies.SelectionPolicy
      Microsoft.Windows.Design.Policies.PrimarySelectionPolicy
      Microsoft.Windows.Design.Policies.SecondarySelectionPolicy
      Microsoft.Windows.Design.Policies.SelectionParentPolicy

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

構文

'宣言
<RequiresContextItemAttribute(GetType(Selection))> _
<RequiresContextItemAttribute(GetType(Tool))> _
Public Class SelectionPolicy _
    Inherits ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public class SelectionPolicy : ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public ref class SelectionPolicy : public ItemPolicy
[<RequiresContextItemAttribute(typeof(Selection))>]
[<RequiresContextItemAttribute(typeof(Tool))>]
type SelectionPolicy =  
    class
        inherit ItemPolicy
    end
public class SelectionPolicy extends ItemPolicy

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

コンストラクター

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

このページのトップへ

プロパティ

  名前 説明
プロテクト プロパティ Context デザイナーの編集コンテキストを取得します。 (ItemPolicy から継承されます。)
パブリック プロパティ IsSurrogate ポリシーがサロゲート ポリシーであるかどうかを示す値を取得します。 (ItemPolicy から継承されます。)
パブリック プロパティ PolicyItems このポリシーによって影響を受けるアイテムの列挙体を取得します。 (ItemPolicy.PolicyItems をオーバーライドします。)

このページのトップへ

メソッド

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

このページのトップへ

イベント

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

このページのトップへ

解説

必要に応じて選択内容をフィルター処理するには、このポリシーから派生させ、IsInPolicy メソッドと GetPolicyItems メソッドをオーバーライドします。

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

' 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 名前空間

ItemPolicy

FeatureProvider

FeatureConnector<TFeatureProviderType>

その他の技術情報

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

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