Data binding in Silverlight allows moving data between objects and UI controls. It extracts a property value from a source object and sets a property in a target object. The target property must be a dependency property. Data binding works with public source object properties and uses a binding expression to connect the source and target properties without specifying the source object. The data context provides a single source of data that can bind to multiple target elements. Target null values and fallback values provide default display values when the bound data is null. Data binding modes determine the data flow direction between source and target properties.