Condividi tramite


Campo NodeShape.AbsoluteBoundsDomainPropertyId

Il GUID utilizzato per identificare la proprietà del dominio di AbsoluteBounds.

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Sintassi

'Dichiarazione
Public Shared ReadOnly AbsoluteBoundsDomainPropertyId As Guid
public static readonly Guid AbsoluteBoundsDomainPropertyId

Note

Utilizzare questo in un oggetto ChangeRule per rispondere alle modifiche nei limiti assoluti.Una regola di modifica viene eseguita nella transazione che ha attivato la regola, di solito prima della fine della transazione.

Esempi

  // 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;
    }
  }

Sicurezza di .NET Framework

Vedere anche

Riferimenti

NodeShape Classe

Spazio dei nomi Microsoft.VisualStudio.Modeling.Diagrams

Altre risorse

Risposta alle modifiche e propagazione delle modifiche