# BindableExtensions 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 static class BindableExtensions
```

Helper extensions for [IBindable](https://eto.picoe.ca/api/type/eto.forms.ibindable.md) objects to set up object bindings.

## Methods

- [Bind<T>](https://eto.picoe.ca/api/type/eto.forms.bindableextensions/bind.md): (7 overloads, static) Adds a new binding to the control with a direct value binding
- [BindDataContext<T>](https://eto.picoe.ca/api/type/eto.forms.bindableextensions/binddatacontext.md): (4 overloads, static) Adds a new binding from the control to its data context
- [DefaultIfNull<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.bindableextensions/defaultifnull.md): (2 overloads, static) Gets a binding that returns a `defaultValue` if the specified `binding` returns a null value.
- [Inverse<T>](https://eto.picoe.ca/api/type/eto.forms.bindableextensions/inverse.md): (4 overloads, static) Gets a bindable binding with the inverse of the specified boolean value binding.
- [ManyToSingle<T, TValue>](https://eto.picoe.ca/api/type/eto.forms.bindableextensions/manytosingle.md): (static) Converts a binding of an enumerable of items to a single value by using the provided `getValue` function to get the value from each item, and if there are multiple items with different values, returns the specified `mixedValue`. When setting the value, it will use the provided `setValue` function to set the value for each item in the enumerable.
