2009-09-21 5 views
0

У меня есть InkCanvas, у которого его дети запрограммированы в C#. Они не установлены с InkCanvas.LeftProperty или InkCanvas.TopProperty. Мне было интересно, возможно ли получить эти значения по умолчанию X и Y элементов. В настоящее время, если я проверю InkCanvas.LeftProperty или InkCanvas.TopProperty, он вернет NaN, поскольку они не установлены. Это вообще возможно? Заранее благодарю за любую помощь.Получить X Y координаты элементов внутри InkCanvas в WPF

Приветствия,

Nilu

ответ

0

Вы хотите использовать различные статические методы, определенные на Canvas, чтобы получить эти значения - GetLeft(), GetTop() и т.д. Я считаю, что LeftProperty только само определение вложенного свойства, а не способ получить значение.

+0

Да, вы правы. Однако даже когда я использовал эти методы, значения NaN. Однако мне удалось найти метод VisualTreeHelper, который бы возвращал смещение элемента относительно родительского (InkCanvas). Кажется, что это работает. Спасибо за вашу помощь. :) – Nilu

2

Я думаю, что это может быть ответ:

Vector vector = VisualTreeHelper.GetOffset(element);

Это возвращает вектор с элементом смещения по отношению к родителю. Более подробную информацию можно найти here.

Редактировать: Не думаю, что это поможет мне в том, что я хочу делать. Хотя это хороший метод, если вы первоначально устанавливаете маржу на элементах. В моем случае я думаю, что мне нужно будет установить координаты явно.

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