绑定 - 使用行为时的UpdateSource

时间:2011-07-31 11:04:12

标签: wpf silverlight data-binding attachedbehaviors

我有一个我写过的行为绑定到我的ViewModel以获取特定值。我想在行为的Associated对象失去焦点时显式更新源,但是我无法访问绑定以对行为执行UpdateSource,因为行为不是框架元素(当然)。 当behvaiour附加并保持对它的引用时,我已经考虑过在代码中创建一个新的绑定,但是想知道是否有更好的方法。 有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您无法在MVVM模式或Silverlight 2.0中访问绑定表达式。 在Silverlight 3和4中,你必须进入附加行为。附加行为将ui元素作为输入接收,然后您可以从ui元素获取其绑定表达式。

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

...如果有帮助,请告诉我