ShapeField.AnchoringBehavior 屬性
描述欄位內容應如何相對於父代 ShapeElement 自動調整本身的位置及大小。
命名空間: Microsoft.VisualStudio.Modeling.Diagrams
組件: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (在 Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll 中)
語法
'宣告
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }
屬性值
類型:Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior
備註
AnchoringBehavior 描述 ShapeField 應如何相對於其父代和同層級 ShapeElements 調整本身的位置及大小。
變更預設錨定行為。
設定您在 DSL 定義中的圖案類別的 [產生雙衍生] 屬性並按一下 [轉換所有範本]。
覆寫您的圖案類別的 InitializeDecorators() 。
- 若要在您的 DSL 專案中的檔案,並加入您的圖案類別的部分類別定義。 插入方法在該類別。
呼叫 AnchoringBehavior 物件的 SetAnchor 方法。
範例
根據預設,文字欄位只佔用一行。 不過,這個範例會定義使用者可以輸入文字包裝」在多行上的圖案。 若要查看包裝的行為,我們也必須錨定欄位的邊緣到圖案的側邊。
警告
這個程式碼與從最小的語言方案範本建立的 DSL 一起使用。將裝飾項呼叫 CommentDecorator 到 ExampleShape,並將它對應至網域類別 ExampleElement的字串屬性。設定 ExampleShape 的 [產生加倍衍生] 屬性在 DSL 定義,因此, InitializeDecorators 方法可以覆寫。
public partial class ExampleShape
{
// Called once for each shape instance, after InitializeShapeFields
protected override void InitializeDecorators
(IList<ShapeField> shapeFields, IList<Decorator> decorators)
{ // Be sure to call the base method.
base.InitializeDecorators(shapeFields, decorators);
// Look up the shape field, which is called "CommentDecorator":
TextField commentField = (TextField)ShapeElement.FindShapeField(shapeFields, "CommentDecorator");
TextField nameField = (TextField)ShapeElement.FindShapeField(shapeFields, "NameDecorator");
// Allow multiple lines of text in the field.
commentField.DefaultMultipleLine = true;
// Autosize is not supported for multi-line fields.
commentField.DefaultAutoSize = false;
// Anchor the field slightly inside the container shape.
commentField.AnchoringBehavior.Clear();
commentField.AnchoringBehavior.
SetLeftAnchor(AnchoringBehavior.Edge.Left, 0.01);
commentField.AnchoringBehavior.
SetRightAnchor(AnchoringBehavior.Edge.Right, 0.01);
commentField.AnchoringBehavior.
SetTopAnchor(nameField, AnchoringBehavior.Edge.Bottom, 0.01);
commentField.AnchoringBehavior.
SetBottomAnchor(AnchoringBehavior.Edge.Bottom, 0.01);
}
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。