Custo de usar propriedades de dependência
-
05-07-2019 - |
Pergunta
Say Eu tenho um controle que herda de UserControl
(daí um dos seus super-classes é DependencyObject
). É muito fácil para resolver um problema de notificação usando um DependencyProperty
, desde INotifyPropertyChanged
precisa de um pouco de implementação, ea outra opção seria a criação de um método para modificar o estado do controle (como myControl.HideTextBox()
). Eu acho que existem várias opções mais para resolver isso, mas desde que o controle já herda de DependencyObject
, um DependencyProperty
parece ser a forma mais óbvia, mas pode não ser o ideal.
Qualquer pensamento?
Obrigado!
Solução
A característica real de propriedades de dependência não é que você recebe notificação de alteração para livre (embora que está lá). O recurso real é que apenas as propriedades de dependência podem ser alvos de ligação de dados. Isto é o que você deve considerar em primeiro lugar, ao decidir se uma propriedade deve ser a dependência ou não.
Para um controle, quase todas as propriedades devem ser bindable, e, assim, a dependência.