Found a solution on my own, with a little help from VisualTreeHelper. Any optimization is greatly appreciated:
private Thumb Thumb
{
get
{
return GetThumb(this ) as Thumb;;
}
}
private DependencyObject GetThumb(DependencyObject root)
{
if (root is Thumb)
return root;
DependencyObject thumb = null;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(root); i++)
{
thumb = GetThumb(VisualTreeHelper.GetChild(root, i));
if (thumb is Thumb)
return thumb;
}
return thumb;
}