Many times, it is tough to traverse up the control tree to reach the parent control. The best example is of a control in a template column of a grid.
The most common way would be go reverse, traversing all the parents, until you find the real one. But this isn’t efficient. For example, a TextBox control in a TableRow, would use the following code to reach its Row Item.
//1st Parent is the Cell, and 2nd is the TableRow DataGridItem grdPrntItem = (DataGridItem) txtBox1.Parent.Parent; Efficient way of doing this is like this, //this would work always, no matter how deep in the control tree the actual control is. DataGridItem grdPrntItem = (DataGridItem) txtBox1.Container;