我有一个包含只读DependencyProperty的类。从这个类中,我想将readonly DependencyProperty
绑定到另一个类的另一个readonly DepenendencyProperty
(从代码创建绑定)。
有可能这样做吗? SetBinding()似乎没有一个以DependencyPropertyKey
作为参数的重载?似乎BindingOperations
- 类似乎都没有提供这样的功能。
也可以提出这个问题:如果我有DependencyProperty
,我可以为只读DependencyPropertyKey
创建绑定吗?
答案 0 :(得分:2)
这是不可能的,因为FrameworkElement.SetBinding
方法仅接受DependencyProperty
作为其第一个参数。如果它也会接受DependencyPropertyKey
,那将会很棒。因为密钥在类外部是不可见的,所以它在类之外仍然是只读的,但是从类中可以使用它来进行绑定。不幸的是,这是不可能的。
答案 1 :(得分:0)
关于如何实现这一点的任何好建议?
可以尝试实现私有RW依赖属性,将原始RO绑定到它,并在RW的回调中修改暴露RO。但这听起来像个黑客。有更好的选择吗?