Partager via


ItemPolicy, classe

Stratégie qui spécifie un ensemble de règles dans le concepteur.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.Windows.Design.Policies
Assembly :  Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)

Syntaxe

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

Le type ItemPolicy expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée ItemPolicy Initialise une nouvelle instance de la classe ItemPolicy.

Début

Propriétés

  Nom Description
Propriété protégée Context Reçoit le contexte d'édition pour le concepteur.
Propriété publique IsSurrogate Obtient une valeur qui indique si la stratégie est une stratégie de substitution.
Propriété publique PolicyItems Obtient une énumération de tous les éléments de la stratégie.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetSurrogateItems Retourne un ensemble facultatif d'éléments de substitution pour cet élément.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnActivated Appelée lorsqu'une stratégie est activée.
Méthode protégée OnDeactivated Appelée lorsque la stratégie est désactivée.
Méthode protégée OnPolicyItemsChanged Déclenche l'événement PolicyItemsChanged.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Événements

  Nom Description
Événement public PolicyItemsChanged Se produit lors de modifications de stratégie.

Début

Notes

Dérivez de la classe abstraite ItemPolicy pour fournir une association entre un ensemble d'éléments et les fournisseurs de fonctionnalités correspondants.

Utilisez des stratégies pour découvrir des fonctionnalités d'extensibilité sur les éléments qui s'exécutent dans le concepteur. Les stratégies sont utilisées par les outils, les ornements et d'autres zones extensibles du concepteur. La classe SelectionPolicy est un exemple de stratégie qui surveille la modification de sélection et déclenche l'événement PolicyItemsChanged lorsque la sélection change. Le concepteur gère les événements de modification pour toutes les stratégies courantes et prend les mesures appropriées. Dans le cas de SelectionPolicy, le concepteur demande l'ensemble des tâches actives qui doivent être disponibles et l'ensemble des ornements qui doivent être visibles sur l'aire de conception.

Une instance unique d'un type de stratégie est activée lorsque le concepteur la découvre dans les métadonnées. Les stratégies durent pendant toute la durée de vie du concepteur et ne sont jamais désactivées, à moins que le concepteur lui-même soit supprimé. Si vous avez une stratégie qui contient une référence à des ressources globales au processus, implémentez la méthode OnDeactivated, appelée lorsque le gestionnaire de stratégie s'arrête.

Une stratégie de substitution offre un ensemble alternatif d'éléments, utilisés pour localiser des fournisseurs de fonctionnalités. Les stratégies de substitution sont le plus souvent utilisées par les conteneurs de contrôle qui offrent des tâches et des ornements supplémentaires à leurs enfants. Dans ce scénario, le conteneur offre une stratégie de remplacement dans laquelle la méthode GetSurrogateItems retourne le parent de l'élément fourni.

Exemples

L'exemple de code suivant indique comment implémenter une stratégie de remplacement personnalisée pour la sélection primaire. Pour obtenir l'intégralité du code, consultez Comment : créer une stratégie de substitution.

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.Windows.Design.Policies, espace de noms

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Autres ressources

Fournisseurs de fonctionnalités et connecteurs de fonctionnalités

Fonctionnement de l'extensibilité du Concepteur WPF