Freigeben über


ItemPolicy-Klasse

Eine Richtlinie, die im Designer einen Satz von Regeln angibt.

Vererbungshierarchie

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

Namespace:  Microsoft.Windows.Design.Policies
Assembly:  Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)

Syntax

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

Der ItemPolicy-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode ItemPolicy Initialisiert eine neue Instanz der ItemPolicy-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Geschützte Eigenschaft Context Ruft den Bearbeitungskontext für den Designer ab.
Öffentliche Eigenschaft IsSurrogate Ruft einen Wert ab, der angibt, ob die Richtlinie eine Ersatzrichtlinie ist.
Öffentliche Eigenschaft PolicyItems Ruft eine Enumeration aller Elemente in der Richtlinie ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetSurrogateItems Gibt einen optionalen Satz von Ersatzelementen für dieses Element zurück.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode OnActivated Wird aufgerufen, wenn eine Richtlinie aktiviert wird.
Geschützte Methode OnDeactivated Wird aufgerufen, wenn die Richtlinie deaktiviert wird.
Geschützte Methode OnPolicyItemsChanged Löst das PolicyItemsChanged-Ereignis aus.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis PolicyItemsChanged Wird ausgelöst, wenn sich die Richtlinie ändert.

Zum Seitenanfang

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.

Eine Ersatzrichtlinie bietet einen alternativen Satz von Elementen, die verwendet werden, um Featureanbieter zu suchen. Ersatzrichtlinien werden hauptsächlich von Steuerelementcontainern verwendet, die zusätzliche Aufgaben und Adorner für ihre untergeordneten Elemente bieten. In diesem Szenario bietet der Container eine Ersatzrichtlinie, in der die GetSurrogateItems-Methode das übergeordnete Element des angegebenen Elements zurückgibt.

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;
        }
    }
}

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

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Weitere Ressourcen

Featureanbieter und Featureverbindungen

WPF-Designer-Erweiterbarkeit