かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

WPFでBindingを強制的に評価する

WPFでBindingを強制的に評価したいときってありますよね?(ない?) そんなときはコントロールからBindingExpressionを取得してUpdateTargetメソッド(VMからV側の更新)やUpdateSourceメソッド(VからVMへの更新)を使います。

例えばTextBlock型のtextBlock変数のTextプロパティに何かがBindingされてるとして、それを強制的に更新したい場合は以下のような感じに書きます。

// TextプロパティのBindingExpressionを取得する
var expression = this.textBlock.GetBindingExpression(TextBlock.TextProperty);
expression.UpdateTarget();