2016-07-21 5 views
0

Я пытаюсь получить положение мыши клика на adorner, подключив обработчик на его мыши вниз. Adorner - это просто круг с радиусом 10 дюймов, расположенный в нижнем правом углу прямоугольника. Я ожидаю получить координату в диапазоне [0-10] для x и y, но я получаю +100. В обработчике adorner я вызываю e.GetPosition (это).Как добраться до позиции UIElement относительно UIElement

ответ

0

Вы должны иметь в виду, что положение указателя мыши вычисляется относительно желаемого элемента, причем верхний левый угол элемента является точкой начала, а не «центром» элемента. Вы должны вычислить позицию, используя результат, полученный из GetPostion(). См. here пример

+0

Ofc Я полностью согласен с вами, но для круга с радиусом 10 единиц возможный диапазон значений для координат при нажатии внутри круга равен [0-20], и я получаю больше, чем это. –

+0

Если у вас есть странный результат, убедитесь, что вы находитесь внутри adorner, когда вы вызываете GetPosition, потому что в противном случае он вернет 0 или расстояние до любого другого adorner –

+0

. Я получаю позицию из обработчика события мыши, определенного в Адонист это сам э.GetPosition (это) –

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

  • Нет связанных вопросов^_^