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.
Representa una regla que se llama cuando un objeto se agrega al modelo.
Jerarquía de herencia
System.Object
Microsoft.VisualStudio.Modeling.Rule
Microsoft.VisualStudio.Modeling.AddRule
Microsoft.VisualStudio.Modeling.Diagrams.CommentShapeAddRule
Microsoft.VisualStudio.Modeling.Diagrams.NodeShape.ExpandCollapseNodeShapeWhenAddedToDiagramRule
Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeContainsNestedChildShapesAddRule
Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeHasRelativeChildShapesAddRule
Microsoft.VisualStudio.Modeling.Diagrams.ShapeElementAddRule
Microsoft.VisualStudio.Modeling.ElementDeserializedRule
Espacio de nombres: Microsoft.VisualStudio.Modeling
Ensamblado: Microsoft.VisualStudio.Modeling.Sdk.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Sintaxis
'Declaración
Public MustInherit Class AddRule _
Inherits Rule
public abstract class AddRule : Rule
El tipo AddRule expone los siguientes miembros.
Constructores
| Nombre | Descripción | |
|---|---|---|
![]() |
AddRule | Inicializa una instancia de la clase AddRule. |
Arriba
Propiedades
| Nombre | Descripción | |
|---|---|---|
![]() |
FireBefore | true si esta regla se ejecute antes de que el cambio aparece. (Se hereda de Rule). |
![]() |
FireImmediately | true si esta regla ejecuta inmediatamente el cambio aparece. (Se hereda de Rule). |
![]() |
FireOnLocalCommit | true si esta regla se ejecuta cuando se compromete de la transacción actual. (Se hereda de Rule). |
![]() |
FireOnTopLevelCommit | true si esta regla se ejecuta cuando se compromete de la transacción de nivel superior. (Se hereda de Rule). |
![]() |
FireTime | Obtiene o establece si la regla se debe ejecutar.Establece normalmente por el atributo de RuleOn. (Se hereda de Rule). |
![]() |
IsEnabled | obtiene o establece si la regla está habilitada.True normalmente de forma predeterminada, pero puede inicializarla en false en el atributo de RuleOn. (Se hereda de Rule). |
![]() |
Priority | obtiene la prioridad que se asigna a la regla.Ayuda a determinar el orden en que las reglas se ejecutan al final de una transacción. (Se hereda de Rule). |
Arriba
Métodos
| Nombre | Descripción | |
|---|---|---|
![]() |
CompareTo(Object) | compara la regla a otro objeto. (Se hereda de Rule). |
![]() |
CompareTo(Rule) | Compara la regla a otra regla por sus identificadores. (Se hereda de Rule). |
![]() |
ElementAdded | Alerta agentes de escucha que se ha utilizado una regla. |
![]() |
Equals(Object) | Comprueba si la regla es igual a otro objeto. (Se hereda de Rule). |
![]() |
Equals(Rule) | comprueba si una regla sea igual a otra regla. (Se hereda de Rule). |
![]() |
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 | obtiene el código hash para la regla. (Se hereda de Rule). |
![]() |
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). |
![]() |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Comentarios
Las reglas de este tipo se desencadenan cuando un elemento, una relación, una forma, un conector o un diagrama se agrega al modelo.
Un atributo de RuleOnAttribute título en la clase indica lo que el tipo de objeto la regla en y cuando la regla debe desencadenar.
Se llama a la regla cuando el objeto del tipo especificado se agrega al modelo, si se agrega en la interfaz de usuario o mediante programación.
Esta regla también se desencadena cuando un elemento se carga desde un archivo.Si desea evitar responder cuando esto sucede, incluya este código en el ElementAdded:
// Ignore this call if we're currently loading a model:
if (e.ModelElement.Store.TransactionManager
.CurrentTransaction.IsSerializing)
return;
Para obtener más información y ejemplos, vea Las reglas propagan los cambios dentro del modelo.
Ejemplos
en el ejemplo siguiente, una regla es definido que deriva de AddRule.Este conjuntos de reglas la posición de una forma cuando se agrega al diagrama.
El atributo de RuleOn indica que la regla debe iniciar cuando las confirmaciones de transacciones de nivel superior.
[RuleOn(typeof(ParentShapeContainsNestedChildShapes), FireTime = TimeToFire.TopLevelCommit)]
public class ShapeAddedToDiagramRule : AddRule
{
private double offset = 0.25;
private PointD location = new PointD(0.25, 0.25);
public override void ElementAdded(ElementAddedEventArgs e)
{
Shape shape = null;
ParentShapeContainsNestedChildShapes nestedLink = e.ModelElement as ParentShapeContainsNestedChildShapes;
if (nestedLink != null)
{
shape = nestedLink.NestedChildShapes as Shape;
}
if (shape != null && shape.Diagram != null)
{
// Expand the shape and move it to its new position
shape.IsExpanded = true;
shape.Location = new PointD(location.X, location.Y + offset);
// Adjust the height offset for the size of the shape
// (I'm assuming that the DefaultContainerMargin
// provides for a decent spacing between the shapes)
offset += shape.Size.Height + shape.Diagram.DefaultContainerMargin.Height;
}
}
}
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.VisualStudio.Modeling (Espacio de nombres)
.gif)
.gif)
.gif)