Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Una directiva que especifica un conjunto de reglas en el diseñador.
Espacio de nombres: Microsoft.Windows.Design.Policies
Ensamblado: Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)
Sintaxis
Public MustInherit Class ItemPolicy
Dim instance As ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
public abstract class ItemPolicy
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.
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;
}
}
}
Jerarquía de herencia
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
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