The best solution to this problem i have found is the class VisualTreeHelper.
The method GetChild(parent, index) will return the child at a certain point, and if you have multiple and dont know the exact number, GetChildren(parent) will provide all to filter.
This transcends normal .Child or .Parent properties and looks for elements that are subordinate to the element you provide within the visual tree.