Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компоновка от родителя к потомку 
:(
    Опции темы
aush
  Дата 12.12.2012, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.6.2007

Репутация: нет
Всего: нет



Я читал о том, как работает компоновка: родитель запрашивает желамый размер у детей и вычисляет, сколько надо места ему. Но в этой ситуации я не понимаю, как реализовывать такой вариант, например:

Грид, размер которого меняется. В нем другой грид высотой в половину высоты второго. Во внутреннем гриде эллипс.

Т.е. тут надо, чтобы сначала верхний грид занял все доступное место, чтобы внутрений грид мог забиндиться на его ActualHeight, установить свою высоту и дать эллипсу занять все доступное место.

Через код эту проблему можно решить, но как правильно это делать через xaml (ведь это чисто декларативная задача и должна решаться соответствующим интрументом)?
PM MAIL   Вверх
SKrivosein
Дата 12.12.2012, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



Это достаточно сложный вопрос для того чтобы его раскрыть в одной теме на форуме.
Важно понять что елемент в XAML это не просто кусок декларативной разметки, это прежде всего класс WPF который наследует от класса FrameworkElement или классов наследующих от него, достаточно сложную структуру. Прочем в таком вопросе как вы задали играют большую роль свойства зависимостей которые имеют достаточно сложный механизм уведомлений и другие особенности.
Упрощенно говоря события инициализации окна происходят снизу вверх, тоесть вложенные элементы инициализируются раньше своих контейнеров. После инициализации элемента он размещается в контейнере, обвешивается стилями, привязуется к данным.  После события инициализации окна наступает новый этап, событие Loaded движется как бы в обратном направлении, от окна вниз к вложеным элементам. Когда событие достигнет самых нижних элементов, окно становится видимым.
На остнове таких вещей WPF и проводит расчеты, а декларативная сторона XAML это только облегчение для проектирования.
Чтобы разобратся в таких вопросах советую для начала внимательно прочитать допустим соответствующие главы Мэтью Мак-Дональда (причем 3.5 кое где написана подробней 4.0)

Это сообщение отредактировал(а) SKrivosein - 12.12.2012, 23:19


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
aush
Дата 12.12.2012, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.6.2007

Репутация: нет
Всего: нет



SKrivosein, Спасибо за ответ.

Мак-Дональда как раз пролистал (и еще пару книжек), но именно детального объяснения со всеми подробностями не нашел, наверное, надо посмотреть повнимательнее.

Это сообщение отредактировал(а) aush - 12.12.2012, 23:52
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.