8

以下は私にNULLを返していますが、その理由は何ですか?

MultiBinding collectionRange = new MultiBinding();
collectionRange.Bindings.Add(new Binding("CurrentPosition") { Source = View });
collectionRange.Bindings.Add(new Binding("Count") { Source = View });
collectionRange.StringFormat = "{0} of {1}";
tbFooter.SetBinding(TextBlock.TextProperty, collectionRange);
var x = tbFooter.GetBindingExpression(TextBlock.TextProperty);

MultiBinding は問題ありません。プロパティは有効であり、UI でレンダリングされます。バインディング式を取得できないようです (x は常に NULL です)。

この方法の使い方は間違っていますか?

4

1 に答える 1

16

このメソッドは、実際には BindingOperations.GetBindingExpression メソッドの便利なラッパーにすぎません。GetBindingExpression は、現在のインスタンスと dp パラメーターを BindingOperations.GetBindingExpression に渡します。

バインディングが MultiBinding の場合は、BindingOperations.GetMultiBinding を使用します。

ここの「例」セクションの「備考」セクションと注記を参照してください。

于 2012-08-20T06:27:18.280 に答える