Freigeben über


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

ItemPolicy-Member

Microsoft.Windows.Design.Policies-Namespace

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Weitere Ressourcen

Featureanbieter und Featureverbindungen

WPF-Designer-Erweiterbarkeit