我有一个我写过的行为绑定到我的ViewModel以获取特定值。我想在行为的Associated对象失去焦点时显式更新源,但是我无法访问绑定以对行为执行UpdateSource,因为行为不是框架元素(当然)。 当behvaiour附加并保持对它的引用时,我已经考虑过在代码中创建一个新的绑定,但是想知道是否有更好的方法。 有什么想法吗?
提前致谢。
答案 0 :(得分:1)
您无法在MVVM模式或Silverlight 2.0中访问绑定表达式。 在Silverlight 3和4中,你必须进入附加行为。附加行为将ui元素作为输入接收,然后您可以从ui元素获取其绑定表达式。
var bnexp = YourUIElement.GetBindingExpression(YourAttachedBehaviorClass.YourAttachedDependencyProperty);
bnexp.UpdateSource();
...如果有帮助,请告诉我