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