RequirementAttribute (Clase)
Define los atributos que utiliza la clase RequirementValidator.
Jerarquía de herencia
System.Object
System.Attribute
Microsoft.Windows.Design.RequirementAttribute
Microsoft.Windows.Design.Policies.UsesItemPolicyAttribute
Microsoft.Windows.Design.RequiresContextItemAttribute
Microsoft.Windows.Design.RequiresServiceAttribute
Espacio de nombres: Microsoft.Windows.Design
Ensamblado: Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)
Sintaxis
'Declaración
Public MustInherit Class RequirementAttribute _
Inherits Attribute
public abstract class RequirementAttribute : Attribute
public ref class RequirementAttribute abstract : public Attribute
[<AbstractClass>]
type RequirementAttribute =
class
inherit Attribute
end
public abstract class RequirementAttribute extends Attribute
El tipo RequirementAttribute expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
RequirementAttribute | Inicializa una nueva instancia de la clase RequirementAttribute. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
AllRequired | Obtiene un valor que indica si se requieren todos los atributos de requisito del mismo tipo. | |
TypeId | Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Se hereda de Attribute). |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
CreateSubscription | Devuelve un objeto RequirementSubscription que se puede utilizar para ser notificado cuando el requisito que contenía este atributo ha cambiado. | |
Equals | Infraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute). | |
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 | Devuelve el código hash de esta instancia. (Se hereda de Attribute). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
IsDefaultAttribute | Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute). | |
Match | Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Se hereda de Attribute). | |
MeetsRequirement | Determina si EditingContext cumple los requisitos especificados en este atributo. | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Implementaciones explícitas de interfaces
Nombre | Descripción | |
---|---|---|
_Attribute.GetIDsOfNames | Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute). | |
_Attribute.GetTypeInfo | Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute). | |
_Attribute.GetTypeInfoCount | Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute). | |
_Attribute.Invoke | Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute). |
Arriba
Comentarios
Derive de la clase abstracta RequirementAttribute para especificar los requisitos para los proveedores de características y conectores de características.
RequirementValidator inspecciona los tipos para los atributos RequirementAttribute. Por cada RequirementAttribute que encuentra, llama al método abstracto MeetsRequirement, pasando una instancia de la clase EditingContext. Clases como RequiresServiceAttribute derivan de RequirementAttribute y comprueban el contexto para detectar la presencia de un requisito especificado.
Este sistema permite al diseñador activar únicamente el código que se puede ejecutar correctamente en el contexto de edición.
Define los requisitos personalizados derivando de RequirementAttribute e implementando el método abstracto MeetsRequirement.
Ejemplos
En el siguiente ejemplo de código se muestra cómo adjuntar una directiva de suplente personalizada a un proveedor de características mediante UsesItemPolicyAttribute, que deriva de RequirementAttribute. Para obtener una lista de código completa, vea Cómo: Crear una directiva suplente.
' The DockPanelAdornerProvider class implements an adorner
' that you can use to set the Margin property by using a
' drag operation. The DockPanelPolicy class enables a
' container policy for offering additional tasks and
' adorners on the panel's children.
<UsesItemPolicy(GetType(DockPanelPolicy))> _
Class DockPanelAdornerProvider
Inherits AdornerProvider
Public Sub New()
' The adorner is a Rectangle element.
Dim r As New Rectangle()
r.Width = 23.0
r.Height = 23.0
r.Fill = AdornerColors.GlyphFillBrush
' Set the rectangle's placement in the adorner panel.
AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft)
AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop)
Dim p As New AdornerPanel()
p.Children.Add(r)
AdornerPanel.SetTask(r, New DockPanelMarginTask())
Adorners.Add(p)
End Sub
End Class
// The DockPanelAdornerProvider class implements an adorner
// that you can use to set the Margin property by using a
// drag operation. The DockPanelPolicy class enables a
// container policy for offering additional tasks and
// adorners on the panel's children.
[UsesItemPolicy(typeof(DockPanelPolicy))]
class DockPanelAdornerProvider : AdornerProvider
{
public DockPanelAdornerProvider()
{
// The adorner is a Rectangle element.
Rectangle r = new Rectangle();
r.Width = 23.0;
r.Height = 23.0;
r.Fill = AdornerColors.GlyphFillBrush;
// Set the rectangle's placement in the adorner panel.
AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft);
AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop);
AdornerPanel p = new AdornerPanel();
p.Children.Add(r);
AdornerPanel.SetTask(r, new DockPanelMarginTask());
Adorners.Add(p);
}
}
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 (Espacio de nombres)