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 定義の Shape クラスの [double 型の派生が生成されます。] のプロパティを設定し、[すべてのテンプレートの変換(T)] をクリックします。
Shape クラスの InitializeDecorators() をオーバーライドします。
- ファイルを DSL のプロジェクトで作成し、Shape クラスの部分クラス定義を追加します。 そのクラスでメソッドを挿入します。
AnchoringBehavior オブジェクトの SetAnchor のメソッドを呼び出します。
例
既定では、テキスト フィールド単一行のみを使用します。 ただし、この例では、ユーザーが複数の行に「ラップ」を入力できる図形を定義しています。 ラップする動作を参照するために、図形の側にフィールドの辺を修正する必要があります。
注意
このコードは最小限の言語ソリューション テンプレートから作成されたリンクを使用します。CommentDecorator と呼ばれるデコレータを ExampleShapeに追加し、ドメイン クラス ExampleElementの文字列プロパティに対応します。InitializeDecorators のメソッドをオーバーライドするために、DSL 定義の ExampleShape の [double 型の派生が生成されます。] のプロパティを設定します。
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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。