![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| MrCherry |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 31.5.2006 Репутация: нет Всего: нет |
Как определить позицию контрола относительно экрана?
Нужно создать окошко с позицией на 26 пикселей ниже объекта, на котором кликнули.... |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
WindowStartupLocation
+ VisualTreeHelper.GetOffset (это локейшн визуала относительно парента) Visual.TransformToAncestor (это локешн относительно предка) так вот, схема проста, определяешь координаты контрола относительно окна (TransformToAncestor), получаешь координаты окна на десктопе и вычисляешь координаты контрола относительно десктопа. потом вычисляешь координаты для нового окна (например если на 26 пикселей ниже контрола - window_y = control_y + control.ActualHeight + 26, где control_y это координата y контрола относительно десктопа. ну а window_x будет control_x) не знаю зачем это надо, но на всякий случай - обрати внимание на такой контрол как Popup. возможно он больше подойдёт под твои нужды (не надо делать новых окон, а также можно без проблем выставить положение относительно родителя). |
|||
|
||||
| MrCherry |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 31.5.2006 Репутация: нет Всего: нет |
аа.. точно! спасибо!
теперь вот никак не допру - как сделать так, чтобы при нажатии где то за пределами - оно закрывалось? пытался заюзать Mouse.PreviewMouseUpOutsideCapturedElement событие - не работает... |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
если ты о Popup - то просто поставь StaysOpen = false (оно по дефолту true).
если ты о Window - закрывай его на потере фокуса. |
|||
|
||||
| MrCherry |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 31.5.2006 Репутация: нет Всего: нет |
Спасибо, работает. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |