スクリーン上のマウス座標を取得し、WPFの論理座標に変換する方法

System.Drawing.Point dp = System.Windows.Forms.Cursor.Position;
System.Windows.Point wp = new System.Windows.Point(dp.X, dp.Y);
// マウス座標から論理座標に変換
PresentationSource src = PresentationSource.FromVisual(this);
CompositionTarget ct = src.CompositionTarget;
System.Windows.Point p = ct.TransformFromDevice.Transform(wp);