Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Stratégie qui spécifie un ensemble de règles dans le concepteur.
Espace de noms : Microsoft.Windows.Design.Policies
Assembly : Microsoft.Windows.Design.Extensibility (dans Microsoft.Windows.Design.Extensibility.dll)
Syntaxe
Public MustInherit Class ItemPolicy
Dim instance As ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
public abstract class ItemPolicy
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.
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;
}
}
}
Hiérarchie d'héritage
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
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
Autres ressources
Fournisseurs de fonctionnalités et connecteurs de fonctionnalités