Привязать только для чтения DependencyProperty к другому только для чтения DependencyProperty - PullRequest
5 голосов
/ 03 сентября 2011

У меня есть класс, который содержит только для чтения DependencyProperty. Из этого класса я хочу привязать только для чтения DependencyProperty к другому только для чтения DepenendencyProperty другого класса (создать привязку из кода).

Есть ли возможность сделать это? SetBinding (), кажется, не имеет перегрузки, которая принимает DependencyPropertyKey в качестве параметра? Ни один из классов BindingOperations не обеспечивает такую ​​функциональность.

Можно также сформулировать вопрос: Могу ли я создать привязку для DependencyProperty только для чтения, если у меня есть DependencyPropertyKey?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Это невозможно, потому что метод FrameworkElement.SetBinding принимает только DependencyProperty в качестве первого параметра.Было бы замечательно, если бы вместо этого он принял DependencyPropertyKey.Поскольку ключ не виден вне класса, он все равно будет доступен только для чтения вне класса, но изнутри класса вы можете использовать его для привязки.К сожалению, это невозможно.

0 голосов
/ 12 февраля 2013

Любые хорошие предложения о том, как это реализовать?

Можно попытаться реализовать частное свойство зависимости RW, привязать к нему исходный RO и в обратном вызове RW изменить экспонирующий RO.Но это звучит как взломать.Есть лучшие варианты?

...