# DataBinding

> Binding type that enables data synchronization between a property of a data source and a property of a VisualElement.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.5/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [Binding](/engine/6000.5/script-reference/unityengine/uielements/binding.md)
* **Implements:** [IDataSourceProvider](/engine/6000.5/script-reference/unityengine/uielements/idatasourceprovider.md)

```csharp
public class DataBinding : Binding, IDataSourceProvider
```

## Constructors

| Constructor                                                                                 | Description                                                                                                                  |
| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [DataBinding()](/engine/6000.5/script-reference/unityengine/uielements/databinding/ctor.md) | Initializes and returns an instance of [DataBinding](/engine/6000.5/script-reference/unityengine/uielements/databinding.md). |

## Properties

| Property                                                                                                           | Description                                                                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [bindingMode](/engine/6000.5/script-reference/unityengine/uielements/databinding/bindingmode.md)                   | Controls how this binding should be updated. The default value is [BindingMode.TwoWay](/engine/6000.5/script-reference/unityengine/uielements/bindingmode/twoway.md).                                                                                                        |
| [dataSource](/engine/6000.5/script-reference/unityengine/uielements/databinding/datasource.md)                     | Object that serves as a local source for the binding, and is particularly useful when the data source is not part of the UI hierarchy, such as a static localization table. If this object is null, the binding resolves the data source using its normal resolution method. |
| [dataSourcePath](/engine/6000.5/script-reference/unityengine/uielements/databinding/datasourcepath.md)             | Path from the data source to the value.                                                                                                                                                                                                                                      |
| [dataSourceType](/engine/6000.5/script-reference/unityengine/uielements/databinding/datasourcetype.md)             | The possible data source types that can be assigned to the binding.                                                                                                                                                                                                          |
| [sourceToUiConverters](/engine/6000.5/script-reference/unityengine/uielements/databinding/sourcetouiconverters.md) | Returns the [ConverterGroup](/engine/6000.5/script-reference/unityengine/uielements/convertergroup.md) used when trying to convert data from the data source to a UI property.                                                                                               |
| [uiToSourceConverters](/engine/6000.5/script-reference/unityengine/uielements/databinding/uitosourceconverters.md) | Returns the [ConverterGroup](/engine/6000.5/script-reference/unityengine/uielements/convertergroup.md) used when trying to convert data from a UI property back to the data source.                                                                                          |

## Methods

| Method                                                                                                                           | Description                                                                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ApplyConverterGroupToSource](/engine/6000.5/script-reference/unityengine/uielements/databinding/applyconvertergrouptosource.md) | Applies a [ConverterGroup](/engine/6000.5/script-reference/unityengine/uielements/convertergroup.md) to this binding that will be used when converting data between a UI control to a data source. |
| [ApplyConverterGroupToUI](/engine/6000.5/script-reference/unityengine/uielements/databinding/applyconvertergrouptoui.md)         | Applies a [ConverterGroup](/engine/6000.5/script-reference/unityengine/uielements/convertergroup.md) to this binding that will be used when converting data between a data source to a UI control. |

## Inheritance

**Inherited Members:**

* [Binding.SetGlobalLogLevel(BindingLogLevel)](/engine/6000.5/script-reference/unityengine/uielements/binding/setgloballoglevel.md)
* [Binding.GetGlobalLogLevel()](/engine/6000.5/script-reference/unityengine/uielements/binding/getgloballoglevel.md)
* [Binding.SetPanelLogLevel(IPanel, BindingLogLevel)](/engine/6000.5/script-reference/unityengine/uielements/binding/setpanelloglevel.md)
* [Binding.GetPanelLogLevel(IPanel)](/engine/6000.5/script-reference/unityengine/uielements/binding/getpanelloglevel.md)
* [Binding.ResetPanelLogLevel(IPanel)](/engine/6000.5/script-reference/unityengine/uielements/binding/resetpanelloglevel.md)
* [Binding.MarkDirty()](/engine/6000.5/script-reference/unityengine/uielements/binding/markdirty.md)
* [Binding.isDirty](/engine/6000.5/script-reference/unityengine/uielements/binding/isdirty.md)
* [Binding.updateTrigger](/engine/6000.5/script-reference/unityengine/uielements/binding/updatetrigger.md)
