Стоимость использования свойств зависимости - PullRequest
0 голосов
/ 30 июля 2009

Скажем, у меня есть элемент управления, который наследуется от UserControl (следовательно, один из его суперклассов - DependencyObject). Решить проблему уведомления очень просто, используя DependencyProperty, поскольку INotifyPropertyChanged требует небольшой реализации, а другой опцией будет создание метода для изменения состояния элемента управления (например, myControl.HideTextBox()). Я полагаю, что есть еще несколько вариантов решения этой проблемы, но поскольку элемент управления уже наследуется от DependencyObject, DependencyProperty представляется более очевидным способом, но он не может быть оптимальным.

Есть мысли?

Спасибо!

1 Ответ

4 голосов
/ 30 июля 2009

Реальная особенность свойств зависимостей не в том, что вы получаете уведомление об изменениях бесплатно (хотя оно есть). Реальная особенность заключается в том, что только свойства зависимостей могут быть объектами привязки данных. Это то, что вы должны учитывать в первую очередь при принятии решения, должно ли свойство быть зависимым или нет.

Для элемента управления почти все свойства должны быть привязываемыми и, следовательно, зависимостью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...