RequirementAttribute (Clase)
Actualización: noviembre 2007
Define los atributos que utiliza la clase RequirementValidator.
Espacio de nombres: Microsoft.Windows.Design
Ensamblado: Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)
Sintaxis
Public MustInherit Class RequirementAttribute _
Inherits Attribute
Dim instance As RequirementAttribute
public abstract class RequirementAttribute : Attribute
public ref class RequirementAttribute abstract : public Attribute
public abstract class RequirementAttribute extends Attribute
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 asociar una directiva de suplente personalizada con 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.
Dim placement As New AdornerPlacementCollection()
placement.PositionRelativeToAdornerWidth(-1, 0)
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0)
placement.SizeRelativeToAdornerDesiredWidth(1.0, 0)
placement.PositionRelativeToAdornerHeight(-1.0, 0)
AdornerPanel.SetPlacements(r, placement)
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.
AdornerPlacementCollection placement = new AdornerPlacementCollection();
placement.PositionRelativeToAdornerWidth(-1, 0);
placement.SizeRelativeToAdornerDesiredHeight(1.0, 0);
placement.SizeRelativeToAdornerDesiredWidth(1.0, 0);
placement.PositionRelativeToAdornerHeight(-1.0, 0);
AdornerPanel.SetPlacements(r, placement);
AdornerPanel p = new AdornerPanel();
p.Children.Add(r);
AdornerPanel.SetTask(r, new DockPanelMarginTask());
Adorners.Add(p);
}
}
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
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
RequirementAttribute (Miembros)
Microsoft.Windows.Design (Espacio de nombres)