Search code examples
wpfgriduielementrowdefinition

In WPF, how can I get the RowDefinition object from the UIElement that belongs to it?


Take the following window layout for example: There is a Grid element defined. It has 3 rows. Each row has one Button element. How do I get the RowDefinition object of the Button it belongs to? Thanks.

NOTE: By calling Grid.GetRow(Button element), I am getting the Grid.Row property of that Button element. I do not need that - instead I need the actual RowDefinition object.


Solution

  • Like this:

    int rowIndex = Grid.GetRow(myButton);
    
    RowDefinition rowDef = myGrid.RowDefinitions[rowIndex];
    

    Or in one line:

    RowDefinition rowDef = myGrid.RowDefinitions[Grid.GetRow(myButton)];