将只读DependencyProperty绑定到另一个只读DependencyProperty

时间:2011-09-03 10:19:16

标签: wpf data-binding dependency-properties

我有一个包含只读DependencyProperty的类。从这个类中,我想将readonly DependencyProperty绑定到另一个类的另一个readonly DepenendencyProperty(从代码创建绑定)。

有可能这样做吗? SetBinding()似乎没有一个以DependencyPropertyKey作为参数的重载?似乎BindingOperations - 类似乎都没有提供这样的功能。

也可以提出这个问题:如果我有DependencyProperty,我可以为只读DependencyPropertyKey创建绑定吗?

2 个答案:

答案 0 :(得分:2)

这是不可能的,因为FrameworkElement.SetBinding方法仅接受DependencyProperty作为其第一个参数。如果它也会接受DependencyPropertyKey,那将会很棒。因为密钥在类外部是不可见的,所以它在类之外仍然是只读的,但是从类中可以使用它来进行绑定。不幸的是,这是不可能的。

答案 1 :(得分:0)

关于如何实现这一点的任何好建议?

可以尝试实现私有RW依赖属性,将原始RO绑定到它,并在RW的回调中修改暴露RO。但这听起来像个黑客。有更好的选择吗?