# BindableBinding<T, TValue> class

Namespace: [Eto.Forms](https://eto.picoe.ca/api/namespace/eto.forms.md) · Assembly: [Eto](https://eto.picoe.ca/api/assembly/eto.md)

```cs
public class BindableBinding<T, TValue> : ObjectBinding<T, TValue>
```

Binding object to easily bind a property of a [IBindable](https://eto.picoe.ca/api/type/eto.forms.ibindable.md) object, such as a [Control](https://eto.picoe.ca/api/type/eto.forms.control.md).

**Remarks:** This provides control-specific binding, such as binding to a [IBindable.DataContext](https://eto.picoe.ca/api/type/eto.forms.ibindable/datacontext.md). Any bindings created using this will also add to the [IBindable.Bindings](https://eto.picoe.ca/api/type/eto.forms.ibindable/bindings.md) collection to keep its reference.

**Type parameters:**

- `T` (where IBindable)
- `TValue`

**Derived types:** [ControlBinding<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.controlbinding-2.md)

## Constructors

- [BindableBinding<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/ctor.md): (2 overloads) Initializes a new instance of the [ControlBinding<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.controlbinding-2.md) class.

## Methods

- [Bind](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/bind.md): Binds the specified `sourceBinding` to this binding.
- [BindDataContext](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/binddatacontext.md): (4 overloads) Binds to an object's [IBindable.DataContext](https://eto.picoe.ca/api/type/eto.forms.ibindable/datacontext.md) using the specified `dataContextBinding`.
- [Cast<TNewValue>](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/cast.md): Casts this binding value to another (compatible) type.
- [CatchException](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/catchexception.md): (2 overloads) Catches any exceptions when setting the value of the binding
- [Child<TNewValue>](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/child.md): (2 overloads) Binds to the specified child `property` expression.
- [Convert<TNewValue>](https://eto.picoe.ca/api/type/eto.forms.bindablebinding-2/convert.md): Converts this binding's value to another value using delegates.

## Inherited Members

- From [ObjectBinding<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2.md): [DataItem](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/dataitem.md), [DataValue](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/datavalue.md), [GetDataItem](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/getdataitem.md), [GettingNullValue](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/gettingnullvalue.md), [InnerBinding](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/innerbinding.md), [SettingNullValue](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/settingnullvalue.md), [Bind<TObject>](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/bind.md), [HandleEvent](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/handleevent.md), [RemoveEvent](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/removeevent.md), [ToString](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/tostring.md), [TriggerDataValueChanged](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/triggerdatavaluechanged.md), [Unbind](https://eto.picoe.ca/api/type/eto.forms.objectbinding-2/unbind.md)
- From [DirectBinding<T>](https://eto.picoe.ca/api/type/eto.forms.directbinding-1.md): [DataValueChanged](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/datavaluechanged.md), [Child<TValue>](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/child.md), [Convert<TValue>](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/convert.md), [OnDataValueChanged](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/ondatavaluechanged.md), [ToBool](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/tobool.md), [ToType<TType>](https://eto.picoe.ca/api/type/eto.forms.directbinding-1/totype.md)
- From [Binding](https://eto.picoe.ca/api/type/eto.forms.binding.md): [Changed](https://eto.picoe.ca/api/type/eto.forms.binding/changed.md), [Changing](https://eto.picoe.ca/api/type/eto.forms.binding/changing.md), [OnChanged](https://eto.picoe.ca/api/type/eto.forms.binding/onchanged.md), [OnChanging](https://eto.picoe.ca/api/type/eto.forms.binding/onchanging.md), [Update](https://eto.picoe.ca/api/type/eto.forms.binding/update.md)
