2016-07-25 1 views
2

В WPF то, как это будет сказать мне, где левая граница верхний угол:Как получить PointToScreen в 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

Смежные вопросы