Compartir a través de


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
Método protegido ItemPolicy Inicializa una nueva instancia de la clase ItemPolicy.

Arriba

Propiedades

  Nombre Descripción
Propiedad protegida Context Obtiene el contexto de edición para el diseñador.
Propiedad pública IsSurrogate Obtiene un valor que indica si la directiva es una directiva suplente.
Propiedad pública PolicyItems Obtiene una enumeración de todos los elementos de la directiva.

Arriba

Métodos

  Nombre Descripción
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido 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).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetSurrogateItems Devuelve un conjunto opcional de elementos suplente para este elemento.
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnActivated Se llama cuando se activa una directiva.
Método protegido OnDeactivated Se llama cuando se desactiva la directiva.
Método protegido OnPolicyItemsChanged Provoca el evento PolicyItemsChanged
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Eventos

  Nombre Descripción
Evento público 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)

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Otros recursos

Proveedores de características y conectores de características

Introducción a la extensibilidad de WPF Designer