Почему свойства зависимостей "статические"?

Может кто-нибудь объяснить, почему свойства зависимостей объявлены как статические?

Ответы

Ответ 1

Поле, которое вы объявляете статичным, является только идентификатором свойства зависимости, а не значением свойства. Он используется для всех экземпляров класса и используется для получения/установки значения свойства для каждого экземпляра.

Ответ 2

Когда вы объявляете DependencyProperty, вы объявляете определение этого свойства, а не пространство для хранения значения свойства (как это было бы в случае с объявлением регулярного свойства). Существует только одно определение свойства для всего класса - в отличие от одного определения для экземпляра класса - и поэтому оно статично.