![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
AleksPingvin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 20.5.2011 Репутация: нет Всего: нет |
Есть UserControl который представляет некий заголовок, под которым находятся куча данных. У источника данных объекта есть поле Collapsed( нотифайное разумеется) , которое показывает, на то, как показывать объект - свернутым (только заголовок) или нет.
Примерно так:
Пишу свой контейнер, в методах MeasureOverride и AverrageOverride мне в случае если мой объект цельный и развернутый не влезает в контейнер, то его надо свернуть. Пишу примерно такой код (фрагмент AverrageOverride):
Так вот после изменения значения поля Collapsed и последующего измерения DesiredSize не изменилось. Да и визуально итем тоже не изменился. Как быть? Для теста вешал на клавишу изменения этого поля, в обычном контейнере все работает. Объект сворачивается и разворачивается. Но мне надо именно в MeasureOverride и AverrageOverride сколько будет занимать элемент в свернутом или не свернутом виде. Подскажите как быть? Это сообщение отредактировал(а) AleksPingvin - 5.12.2011, 15:54 |
||||
|
|||||
Gvozdin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Значит если ваш контейнер(который вместо StackPanel Name="container") не помещается целиком в availableSize в ArrangeOverride, то вы идете в дата контекст и устанавливаете там Collapsed = true.
А почему вы думаете что Visibility вашей панели должен как-то повлиять на DesiredSize у ваших дочерних элементов? Вы спрашиваете их сколько они ХОТЯТ занять места, они и отвечают сколько они хотят. Если вы хотите что бы панель скрывалась когда она полностью не входит в контейнер то я бы предложил другой вариант: 1. Создаете dependency property HeighIsNotEnoughtForMe 2. В ArrangeOverride, если заданный availableSize вам мал, устанавливаете HeighIsNotEnoughtForMe = true 3. Тригером по HeighIsNotEnoughtForMe делаете вашей панели Visibility=Collapsed --------------------
http://gvozdin.ru |
|||
|
||||
AleksPingvin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 20.5.2011 Репутация: нет Всего: нет |
Я опечатался в коде )) везде item это curItem. Т.е я беру итем и у его данных меняю свойство и жду изменентя его размеров
|
|||
|
||||
Gvozdin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
От этого ничего не меняется
--------------------
http://gvozdin.ru |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |