NodeShape.AbsoluteBoundsDomainPropertyId 欄位
用來識別 [AbsoluteBounds] 網域屬性的 GUID。
命名空間: 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 命名空間