WPF の添付プロパティをコードで指定する

以前少しだけ触れたけど、ちゃんとしたエントリにしていなかったので書いておきます(自分のためにも)。

たとえば Grid の添付プロパティ。

<TextBox x:Name="_textBox" Grid.Row="0" Grid.Column="0" Grid.RowSpan="1" Grid.ColumnSpan="1"/>

この XAMLC# のコードで

Grid.SetRow(_textBox, 0);
Grid.SetColumn(_textBox, 0);
Grid.SetRowSpan(_textBox, 1);
Grid.SetColumnSpan(_textBox, 1);

と書けます。また Canvas の場合、

<TextBox x:Name="_textBox" Canvas.Left="10" Canvas.Top="10"/>

C#

Canvas.SetLeft(_textBox, 10);
Canvas.SetTop(_textBox, 10);

と書けます。

このように、添付プロパティを設定するための static メソッドが用意されています。