Yes, there is a registry, but all of it is hidden. And No, dependency properties are not set at all through Getter and Setter, and DependencyObject has methods called GetValue and SetValue, where you actually pass a handle to your dependency property. Suppose your DP has a registry, and it has a dictionary and processes your DP (the DP object you receive after registration) is the key.
Thus, the registry knows when and what to change, and what needs to be updated and to whom notifications should be sent.
You can use the reflector to learn .NET inside, you get the idea that each DP needs to be registered by calling DependencyProperty.Register, then you can use it.
source share