ItemPolicy (Clase)
Una directiva que especifica un conjunto de reglas en el diseñador.
Jerarquía de herencia
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
Espacio de nombres: Microsoft.Windows.Design.Policies
Ensamblado: Microsoft.Windows.Design.Interaction (en Microsoft.Windows.Design.Interaction.dll)
Sintaxis
'Declaración
Public MustInherit Class ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
[<AbstractClass>]
type ItemPolicy = class end
public abstract class ItemPolicy
El tipo ItemPolicy expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
ItemPolicy | Inicializa una nueva instancia de la clase ItemPolicy. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
Context | Obtiene el contexto de edición para el diseñador. | |
IsSurrogate | Obtiene un valor que indica si la directiva es una directiva suplente. | |
PolicyItems | Obtiene una enumeración de todos los elementos de la directiva. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). | |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetSurrogateItems | Devuelve un conjunto opcional de elementos suplente para este elemento. | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
OnActivated | Se llama cuando se activa una directiva. | |
OnDeactivated | Se llama cuando se desactiva la directiva. | |
OnPolicyItemsChanged | Provoca el evento PolicyItemsChanged | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Eventos
Nombre | Descripción | |
---|---|---|
PolicyItemsChanged | Se produce cuando la directiva cambia. |
Arriba
Comentarios
Derive de la clase abstracta ItemPolicy para proporcionar una asociación entre un conjunto de elementos y los proveedores de características correspondientes.
Use las directivas para detectar las características de extensibilidad en los elementos que se están ejecutando en el diseñador. Las herramientas, los adornos y otras áreas del diseñador que son extensibles utilizan las directivas. La clase SelectionPolicy es un ejemplo de directiva que controla los cambios de la selección y provoca el evento PolicyItemsChanged cuando la selección cambia. El diseñador administra los eventos de cambio para todas las directivas en ejecución y lleva a cabo la acción adecuada. En el caso de SelectionPolicy, el diseñador hace una consulta sobre el conjunto de tareas activas que deben estar disponibles y el conjunto de adornos que deben estar visibles en la superficie de diseño.
Se activa una instancia única de un tipo de directiva cuando el diseñador la detecta en metadatos. Las directivas duran el tiempo que dura el diseñador y nunca están desactivadas a menos que se elimine el propio diseñador. Si tiene una directiva que contiene una referencia a los recursos globales del proceso, implemente el método OnDeactivated, al que se llama cuando termina el administrador de la directiva.
Una directiva suplente proporciona un conjunto alternativo de elementos que se utilizan para buscar proveedores de características. Las directivas suplente las usan normalmente los contenedores de control que proporcionan tareas y adornos adicionales en sus elementos secundarios. En este escenario, el contenedor proporciona una directiva suplente en la que el método GetSurrogateItems devuelve el elemento primario del elemento proporcionado.
Ejemplos
En el ejemplo de código siguiente se muestra cómo implementar una directiva suplente personalizada para la selección principal. Para obtener una lista de código completa, vea Cómo: Crear una directiva suplente.
' 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;
}
}
}
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.Windows.Design.Policies (Espacio de nombres)
Otros recursos
Proveedores de características y conectores de características