2016-07-25 52 views
2

得到PointToScreen在WPF中這樣的事情會告訴我哪裏有邊框左上角:我如何在UWP

 var point = myBorder.PointToScreen(new Point()); 

如何獲得同樣的UWP?我找不到任何方法來獲取它。

謝謝:)

+0

我似乎無法找到我看到這個在最近紀念重複數據刪除的問題,但它是[UIElement.TransformToVisual(HTTPS: //msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.transformtovisual)我相信。 –

回答

3

可以使用TransformToVisual方法。使用下面的代碼

var transformToVisual = myBorder.TransformToVisual(Window.Current.Content); 
var borderCoordinats = transformToVisual .TransformPoint(new Point(0, 0)); 
+0

謝謝你的工作:) – adminSoftDK

6

你可以得到UIElement的屏幕座標在下面的步驟:

  1. 通過以下代碼獲取相對於當前應用程序窗口UIElement的座標:

    GeneralTransform transform = myBorder.TransformToVisual(Window.Current.Content); 
    Point coordinatePointToWindow = transform.TransformPoint(new Point(0, 0)); 
    
  2. 獲取當前應用窗口的信息Rect

    Rect rect = Window.Current.CoreWindow.Bounds; 
    
  3. 計算你的UIElement的座標:

    var left = coordinatePointToWindow.X + rect.Left; 
    var top = coordinatePointToWindow.Y + rect.Top; 
    
+0

我接受了其他答案,因爲它是第一次,但你給我更多的信息。謝謝 :) – adminSoftDK