Compartir a través de


NodeShape.AbsoluteBoundsDomainPropertyId (Campo)

GUID utilizado para identificar la propiedad del dominio de AbsoluteBounds.

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Diagrams
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Sintaxis

'Declaración
Public Shared ReadOnly AbsoluteBoundsDomainPropertyId As Guid
public static readonly Guid AbsoluteBoundsDomainPropertyId

Comentarios

utilice esto en ChangeRule para responder a los cambios en los límites absolutos.Una regla de cambio se realiza en la transacción que activó la regla, normalmente justo antes del final de la transacción.

Ejemplos

  // This rule responds to changes in location and size of MyShape, 
  // which is declared in DSL Definition.
  [RuleOn(typeof(MyShape))]
  public sealed class MyShapeMoveRule : ChangeRule
  {
    public override void ElementPropertyChanged(ElementPropertyChangedEventArgs e)
    {
      MyShape shape = e.ModelElement as MyShape;
      if (shape == null) return;
      if (shape.Store.InSerializationTransaction) return;
      if (!shape.IsNestedChild) return;
      if (e.DomainProperty.Id == NodeShape.AbsoluteBoundsDomainPropertyId)
      {
        shape.ParentShape.NestedChildShapes.Move(shape,
          shape.ParentShape.NestedChildShapes.Count - 1);
        // this.Diagram.NeedsRenumber should be set after
        // re-ordering the child shapes. It should also be
        // set after the user invokes Undo or Redo; but 
        // the rule is not called in Undo or Redo. 
        // So instead, we will put the NeedsRenumber call
        // in an override of OnAbsoluteBoundsChanged, which
        // is always called.
      }
    }
  }
  // Register the rule.
  partial class InstanceDiagramsDomainModel
  {
    protected override Type[] GetCustomDomainModelTypes()
    {
      List<Type> types = new List<Type>(base.GetCustomDomainModelTypes());
      types.Add(typeof(MyShapeMoveRule));
      return types.ToArray();
    }
  }

  partial class MyShape // Declared in DSL Definition
  {
    // Called even in Undo or Redo. 
    public override void OnAbsoluteBoundsChanged(AbsoluteBoundsChangedEventArgs e)
    {
      base.OnAbsoluteBoundsChanged(e);
      this.Diagram.NeedsRenumber = true;
    }
  }

Seguridad de .NET Framework

Vea también

Referencia

NodeShape Clase

Microsoft.VisualStudio.Modeling.Diagrams (Espacio de nombres)

Otros recursos

Responder a los cambios y propagarlos