|
Модераторы: gambit, Kefir, Partizan |
|
NoliX |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 103 Регистрация: 5.7.2005 Репутация: нет Всего: 1 |
Есть большой grid, который объявлен в xaml вот так
В конструкторе Page я помещаю в него еще один grid вот так:
проблема такая,что если я обрабатываю щелчок мышью событием подвешенным к большому гриду, кликая в верхний левый угол я получаю координаты {0,0}, что логично, в общем-то. Однако, если я отлавливаю событие внутренним гридом, в той же точке я получаю координаты {6,36} Понятно, что 6 = BorderThickness + Margin(Рамки) + Margin(Грида) 36, тоже получается из xaml кода который я не привел. Дык вот меня жутко мучает вопрос: Почему так? разве не должно быть во втором случае {0,0}, ведь у внутреннего то грида Margin=0, я проверял? Или я что-то путаю? В конце-концов, как мне получить эти цифры (6 и 36) не опытным путем? --------------------
Опыт - это учитель, который очень дорого берет за свои уроки |
||||
|
|||||
fantast |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: нет Всего: 2 |
А каким образом ты получаешь эти координаты? Выложи код эвента
--------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
NoliX |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 103 Регистрация: 5.7.2005 Репутация: нет Всего: 1 |
Но я больше, чем уверен, что дело совсем не в этом Это сообщение отредактировал(а) NoliX - 27.7.2009, 23:51 --------------------
Опыт - это учитель, который очень дорого берет за свои уроки |
|||
|
||||
neiron |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 18.4.2006 Где: Краснодар Репутация: нет Всего: 4 |
А если здесь написать:
? |
|||
|
||||
NoliX |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 103 Регистрация: 5.7.2005 Репутация: нет Всего: 1 |
Отлично, работает так, как нужно) Однако это не решает проблему)
Дело в том, что суть работы такова что я получаю координату от внешнего грида и по этой координате вызываю VisualTreeHelper на внутренний грид (не спрашивайте почему так криво, это не я писал). В общем-то все, что мне сейчас нужно - это умело делать преобразование координат из внешнего грида во внутренний и ожидалось, что раз нет никаких Margin и Padding то координаты левого верхнего угла совпадают и раны {0,0} shit! как я сейчас уже понимаю, координаты VisualTreeHelper считает так, же как и е GetPosition(null). Как их преобразовывать одни в другие? Это сообщение отредактировал(а) NoliX - 27.7.2009, 23:57 --------------------
Опыт - это учитель, который очень дорого берет за свои уроки |
|||
|
||||
NoliX |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 103 Регистрация: 5.7.2005 Репутация: нет Всего: 1 |
Нашел решение своей проблемы:
Позицию контрола относительно любого своего родителя можно вычислить следующим образом:
--------------------
Опыт - это учитель, который очень дорого берет за свои уроки |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |