ItemPolicy-Klasse
Aktualisiert: November 2007
Eine Richtlinie, die im Designer einen Satz von Regeln angibt.
Namespace: Microsoft.Windows.Design.Policies
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
Public MustInherit Class ItemPolicy
Dim instance As ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
public abstract class ItemPolicy
Hinweise
Leiten Sie von der abstrakten ItemPolicy-Klasse ab, um eine Zuordnung zwischen einem Satz von Elementen und den entsprechenden Featureanbietern bereitzustellen.
Verwenden Sie Richtlinien, um Erweiterbarkeitsfeatures von Elementen zu ermitteln, die im Designer ausgeführt werden. Richtlinien werden von Tools, Adornern und anderen Bereichen des Designers verwendet, die erweiterbar sind. Die SelectionPolicy-Klasse ist ein Beispiel für eine Richtlinie, die Auswahländerungen überwacht und das PolicyItemsChanged-Ereignis auslöst, wenn die Auswahl geändert wird. Der Designer verarbeitet Änderungsereignisse für alle ausgeführten Richtlinien und führt die entsprechende Aktion aus. Bei SelectionPolicy fragt der Designer den Satz aktiver Aufgaben, die verfügbar sein sollten, und den Satz von Adornern ab, die auf der Entwurfsoberfläche sichtbar sein sollten.
Eine einzelne Instanz eines Richtlinientyps wird aktiviert, wenn sie vom Designer in den Metadaten ermittelt wird. Richtlinien gelten für die gesamte Lebensdauer des Designers und werden zu keiner Zeit deaktiviert, außer wenn der Designer selbst freigegeben wird. Wenn Sie über eine Richtlinie mit einem Verweis auf prozessübergreifende Ressourcen verfügen, implementieren Sie die OnDeactivated-Methode, die beim Beenden des Richtlinien-Managers aufgerufen wird.
Beispiele
Im folgenden Codebeispiel wird dargestellt, wie Sie eine benutzerdefinierte Ersatzrichtlinie für die primäre Auswahl implementieren. Eine vollständige Codeauflistung finden Sie unter Gewusst wie: Erstellen einer Ersatzrichtlinie.
' 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;
}
}
}
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design.Policies-Namespace