public static Point GetPointInWindow(Point client, Windows.UI.Xaml.UIElement element) { //ウィンドウ内での絶対座標を取得する var gt = element.TransformToVisual(Windows.UI.Xaml.Window.Current.Content); return(gt.TransformPoint(client)); }
public static Point GetScreentPoint(Point client, Windows.UI.Xaml.UIElement element) { var gt = element.TransformToVisual(Windows.UI.Xaml.Window.Current.Content); Point p = gt.TransformPoint(client); //Windows10以降では補正する必要がある Windows.Foundation.Rect win_rect = Windows.UI.Xaml.Window.Current.CoreWindow.Bounds; var screenPoint = p.Offset(win_rect.X, win_rect.Y); return(screenPoint); }
public static Windows.Foundation.Rect GetScreentRect(Windows.Foundation.Rect client, Windows.UI.Xaml.UIElement element) { //ウィンドウ内での絶対座標を取得する var gt = element.TransformToVisual(Windows.UI.Xaml.Window.Current.Content); Windows.Foundation.Rect screenRect = gt.TransformBounds(client); //Windows10以降では補正する必要がある Windows.Foundation.Rect win_rect = Windows.UI.Xaml.Window.Current.CoreWindow.Bounds; screenRect.X += win_rect.X; screenRect.Y += win_rect.Y; return(screenRect); }