![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
SAVe |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Здравствуйте.
Суть проблемы: Есть Popup окно контент в которое записывается динамически. Затем делаем ему IsOpen = true. Но в событии Popup_Opened размеры ActualWidth и ActualHeight показвают 0. Хотя окно отображается с правильными размерами. Где то же они находятся. Подскажите пожалуста как их получить. Получить нужно или до открытия окна (как либо высчитать) или сразу поле открытия окна. Вот разметка:
В коде перед открытием окна:
Пробуем получать размеры:
|
||||||
|
|||||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Может немного не понял сам вопрос, но а если сделать так:
По сути получается те же высота и ширина Popup, исходя из кода конечно. Или я всё таки, что то не так понял? ![]() Это сообщение отредактировал(а) Человек01 - 9.4.2009, 17:53 |
|||
|
||||
SAVe |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Дело в том что у всех контролов и выше и ниже по иерархии в событии Popup_Opened параметры ActualWidth и ActualHeight равны 0.
|
|||
|
||||
Человек01 |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
SAVe, если честно то я так и не смог воспроизвести чтобы не было возможности узнать ширину высоту по bounds
Вот весь код который я сделал для примера: Сначала UserControl1:
Теперь же сам Window1:
Всё замечательно работает. Странно что у тебя не получается... В общем пользуемся и говорим Человеку спасибо ![]() P.S.: Может у тебя там ещё, что то накручено в UserControl? |
||||||||
|
|||||||||
SAVe |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Человеку большое спасибо за участие в теме. Отличие моей ситуациии от приведенного кода состоит в том что наполнение которое ложится в bounds.Child создаётся не кодом контрола , а передаётся как параметр и сам Popup стартует из другого потока (по таймеру). Не знаю как это могло повлиять , но в событии Popup_Opened размеры нулевые (хотя они были и при синхронном старте нулевые).
Проблему удалось решить перехватом SizeChanged у bounds. |
|||
|
||||
Idsa |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 2 Всего: 62 |
Человек01, добрый совет: не стоит так акцентировать внимание общественности на своей личности. |
|||
|
||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Idsa, спасибо за "добрый совет", но человек используемый мной является собирательным "образом" него абстрактного человека, таким выражением я призываю людей быть вежливыми и не забывать говорить спасибо всем кто им помог, пытался помочь или помогал советом. А непосредственно "акцентировать внимание общественности на своей личности" я не старался(по какому то случайному, но счастливому, стечению обстоятельств мой ник Человек01 и Человек используемый в контексте моего поста однокоренные
![]() И вообще с другой стороны, почему нет, если это я делаю для своего удовольствия и мне нравится видеть слово "Спасибо" после моего поста (приходит осознание что время потраченное мной, не было потрачено зря, а принесло пользу кому то). Так что по моему Ваш "наезд" не обоснован(+ ни каких правил форума я этим не нарушаю ![]() P.S.: Понимаю что это флуд, но давно не общался с людьми, так что прошу прощения за излишнюю многословность. ![]() |
|||
|
||||
Idsa |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 2 Всего: 62 |
Если человек захочет сказать Вам спасибо, он это обязательно сделает. А попрошайничать, имхо, не стоит.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |