# BindableWidget 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 abstract class BindableWidget : Widget, IBindable
```

Base widget to support binding with the [IBindable](https://eto.picoe.ca/api/type/eto.forms.ibindable.md) interface.

**Derived types:** [Control](https://eto.picoe.ca/api/type/eto.forms.control.md), [Menu](https://eto.picoe.ca/api/type/eto.forms.menu.md), [SegmentedItem](https://eto.picoe.ca/api/type/eto.forms.segmenteditem.md), [Tool](https://eto.picoe.ca/api/type/eto.forms.tool.md)

## Constructors

- [BindableWidget](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/ctor.md): (2 overloads) Initializes a new instance of the [BindableWidget](https://eto.picoe.ca/api/type/eto.forms.bindablewidget.md) class.

## Properties

- [Bindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/bindings.md): Gets the collection of bindings that are attached to this widget
- [DataContext](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontext.md): Gets or sets the data context for this widget for binding
- [IsDataContextChanging](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/isdatacontextchanging.md): Gets a value indicating that the [BindableWidget.DataContext](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontext.md) property is changing.
- [Parent](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/parent.md): Gets or sets the parent widget which this widget has been added to, if any
- [Parents](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/parents.md): Gets an enumeration of all parent widgets in the heirarchy by traversing the [BindableWidget.Parent](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/parent.md) property.

## Methods

- [FindParent<T>](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/findparent.md): (3 overloads) Finds a control in the parent hierarchy with the specified type and [Widget.ID](https://eto.picoe.ca/api/type/eto.widget/id.md) if specified
- [OnDataContextChanged](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/ondatacontextchanged.md): Raises the [BindableWidget.DataContextChanged](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontextchanged.md) event
- [Unbind](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/unbind.md): Unbinds any bindings in the [BindableWidget.Bindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/bindings.md) collection and removes the bindings
- [UpdateBindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/updatebindings.md): Updates all bindings in this widget

## Events

- [DataContextChanged](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontextchanged.md): Event to handle when the [BindableWidget.DataContext](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontext.md) has changed

## Inherited Members

- From [Widget](https://eto.picoe.ca/api/type/eto.widget.md): [ControlObject](https://eto.picoe.ca/api/type/eto.widget/controlobject.md), [Handler](https://eto.picoe.ca/api/type/eto.widget/handler.md), [ID](https://eto.picoe.ca/api/type/eto.widget/id.md), [IsDisposed](https://eto.picoe.ca/api/type/eto.widget/isdisposed.md), [NativeHandle](https://eto.picoe.ca/api/type/eto.widget/nativehandle.md), [Platform](https://eto.picoe.ca/api/type/eto.widget/platform.md), [Properties](https://eto.picoe.ca/api/type/eto.widget/properties.md), [Style](https://eto.picoe.ca/api/type/eto.widget/style.md), [StyleChanged](https://eto.picoe.ca/api/type/eto.widget/stylechanged.md), [Dispose](https://eto.picoe.ca/api/type/eto.widget/dispose.md), [GetCallback](https://eto.picoe.ca/api/type/eto.widget/getcallback.md), [Initialize](https://eto.picoe.ca/api/type/eto.widget/initialize.md), [OnStyleChanged](https://eto.picoe.ca/api/type/eto.widget/onstylechanged.md), [ToString](https://eto.picoe.ca/api/type/eto.widget/tostring.md)
