Udostępnij za pośrednictwem


Pole NodeShape.AbsoluteBoundsDomainPropertyId

Identyfikator GUID służący do identyfikowania właściwości domeny AbsoluteBounds.

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling.Diagrams
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Składnia

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

Uwagi

Wykorzystać te informacje w ChangeRule do reagowania na zmiany w granicach bezwzględne.Zmień regułę jest wykonywane wewnątrz transakcji, która wyzwoliła reguły, zazwyczaj tuż przed zakończeniem transakcji.

Przykłady

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

NodeShape Klasa

Przestrzeń nazw Microsoft.VisualStudio.Modeling.Diagrams

Inne zasoby

Odpowiadanie na zmiany i propagowanie zmian