public static Point TransformClientToDescendant(this PresentationSource presentationSource, Point point, Visual descendant) { Point pt = TransformClientToRoot(presentationSource, point); return presentationSource.RootVisual.TransformToDescendant(descendant).Transform(pt); }