Data binding is a technique to establish a connection between the UI of the application and the business logic to have data synchronization between them. Though you can directly access UI controls from code behind to update their content, but data binding became a preferred way to update the UI layer for its autoupdate notification mechanism.
To make data binding work, both the sides of the binding must provide a change notification to the other side. The source property of a data binding can be a normal .NET CLR property or a dependency property, but the target property must be a dependency property:
Data binding is typically ...