Been developing a Rename Tool in C# using WPF as my window form, and data binding is giving me a bit of trouble understanding. There are other ways to make data binding in WPF, and Dependency Property is the one that boggles the mind.
Alas I have found an article that led me to a more thorough explanation to why you would use it.
In short Dependency Object is the object where WPF controls derive from and it provides all the validation, notification, updating , callbacks otherwise you would implement yourself which is possible but just time consuming.
This comes down to using Dependency Property on your own class.