📎
AttachedProperty(添付プロパティ)にバインディングする方法
- Grid.Row
- Grid.Column
- Grid.RowSpan
- Grid.ColumnSpan
- Canvas.Top
- Canvas.Left
- Canvas.ZIndex
などがあり、自分で定義するカスタムなものを含め、とてもよく使いますが、
これらにバインディングする方法は以外と知られていません。
(「添付プロパティ」よりも「後付けプロパティ」という名称の方が理解し易いと感じるのは私だけでしょうか?🤔)
では、早速AttachedPropertyにバインディングする方法を紹介します。
例えば、TextBlock
のText
プロパティに
SomeButton
というコントロールのGrid.Row
やGrid.Column
をバインディングするには次のように記述します。
<TextBlock>
<Run Text="Row: " />
<Run Text="{x:Bind SomeButton.(Grid.Row)}" />
</TextBlock>
<TextBlock>
<Run Text="Column: " />
<Run Text="{x:Bind SomeButton.(Grid.Column)}" />
</TextBlock>
つまり、
{x:Bind [対象コントロール名].([AttachedPropertyクラス名].[AttachedProperty名])}
となります。
今回は以上です。
Happy Coding!😊
Discussion