【发布时间】:2016-04-14 22:24:08
【问题描述】:
我时不时会遇到需要在属性上设置双向绑定的情况,在这种情况下,最好在设置绑定时初始更新将在目标到源方向而不是源方向上执行-达到目标。也就是说,当设置绑定时,源属性值会更新,以便它反映目标属性值,而目标属性值保持不变。
这种情况可能吗?如果是,如何实现?
当然有几种解决方法,例如缓存目标属性值、设置绑定然后恢复缓存的值,但我感兴趣的是直接答案而不是解决方法。
示例
假设我们有一个TextBox,其中Text 属性设置为"foo"。另外,我们有一个视图模型,其Name 属性(string 类型)设置为null。现在我想要实现的是将Text 属性绑定到Name 属性,同时保留"foo" 值。这里重要的是避免将Text 设置为null,然后再设置回"foo"(无论出于何种原因,例如因为清除TextBox 会导致其他控件也被清除)。
【问题讨论】:
标签: c# .net wpf data-binding dependency-properties