0

ViewModel にバインドして特定の値を取得する動作を記述しました。ビヘイビアーの Associated オブジェクトがフォーカスを失ったときにソースを明示的に更新したいのですが、ビヘイビアーはフレームワーク要素ではないため (もちろん)、ビヘイビアーで UpdateSource を実行するバインディングにアクセスできません。動作がアタッチされたときにコードで新しいバインディングを作成し、それへの参照を保持することを考えましたが、より良い方法があるかどうか疑問に思いました。何か案は?

前もって感謝します。

4

1 に答える 1

1

MVVM パターンまたは Silverlight 2.0 ではバインディング式にアクセスできません。Silverlight 3 および 4 では、Attached Behavior に入る必要があります。添付されたビヘイビアーは ui 要素を入力として受け取り、ui 要素からバインディング式を取得できます。

     var bnexp = YourUIElement.GetBindingExpression(YourAttachedBehaviorClass.YourAttachedDependencyProperty);
     bnexp.UpdateSource();

...これが役立つかどうか教えてください

于 2011-07-31T12:19:16.330 に答える