Get a Bound Object from a control
binding, c#, data-binding, wpf
Solution
Try accessing the DataContext property. This will contain a reference to the current item the button is bound to.
public void MyEvent(Object obj)
{
Button myButton = (Button) obj;
MyBoundClass myObject = myButton.DataContext as MyBoundClass;
// Do something with myObject.
}
Problem
I have the following xaml: ``` <ItemsControl> <ItemsControl.ItemTemplate> <DataTemplate> <Button Content="{Binding Name}"></Button> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> ``` In my code I have an event that gives me access to the button. How can I take the button object and get the object that it's Name is bound to? Here is psudo code that I would like to work: ``` public void MyEvent(Object obj) { Button myButton = (Button) obj; MyBoundClass myObject = GetBoundClassFromProperty(myButton.Name); // Do something with myObject. } ```