使用UpdateSource()时禁用TwoWay绑定上的ConvertBack()

时间:2011-07-21 08:54:31

标签: silverlight binding

我正在维护一个SilverLight应用程序,我不得不手动重新绑定一些TextBoxes的文本。

所以我使用:

myTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource(); 

问题是,要做到这一点,我的TextBox需要具有TwoWay绑定,所以我设置它。 该控件使用非正统的IValueConverter,它永远不应该执行ConvertBack,但是因为我得到了一个TwoWay绑定......它被调用。

有没有办法禁用ConvertBack(),然后让Convert()完成它的工作?

谢谢;)

2 个答案:

答案 0 :(得分:1)

你应该使用一个处理两个方向的转换器......

对现有转换器进行子类化并使ConvertBack隐藏现有转换器(并返回无害的东西),而Convert只调用base.Convert。

答案 1 :(得分:0)

correct way将在DependencyProperty.UnsetValue

中返回ConvertBack