public static Point TransformDescendantToClient(this PresentationSource presentationSource, Point point, Visual descendant) { Point pt = descendant.TransformToAncestor(presentationSource.RootVisual).Transform(point); return TransformRootToClient(presentationSource, pt); }