Why dependency properties in WPF has to be Static

前端 未结 2 1585
借酒劲吻你
借酒劲吻你 2020-12-13 20:36

Why a dependency property has to be Static?

I have seen that it has been already asked in some post here, but I am not able to understand it properly.

It wi

2条回答
  •  Happy的楠姐
    2020-12-13 20:50

    The magic here is, the declaration of DependencyProperty is static not its value (i.e the memory storage). The declaration that you add with static keyword is just the identifier(key) of the DependencyProperty for a particular DependencyObject. As same identifier/key can be used by all instances of the DependencyObject to identify the property value hence it makes sense to make it static.

    On the other hand, when we set the value of DependancyProperty by calling the SetValue on DependancyObject instance, then each instance of DependancyObject on which the SetValue is called will store its local value of the Property. This is handled internally by the DependancyObject class which maintain sort of Dictionary which has the mapping between the DependancyProperty identifier and the local value.

提交回复
热议问题