NodeShape.AbsoluteBoundsDomainPropertyId 字段
用于的 GUID 标识 AbsoluteBounds 字段的特性。
命名空间: Microsoft.VisualStudio.Modeling.Diagrams
程序集: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0(在 Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll 中)
语法
声明
Public Shared ReadOnly AbsoluteBoundsDomainPropertyId As Guid
public static readonly Guid AbsoluteBoundsDomainPropertyId
备注
使用此在 ChangeRule 响应绝对区域中的更改。更改规则通常在触发规则的事务内,在事务之前结束。
示例
// 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;
}
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
请参见
参考
Microsoft.VisualStudio.Modeling.Diagrams 命名空间