Главная » Silverlight » Контейнер StackPanel

0

Класс StackPanel — простейший контейнер. Он всего лишь размещает дочерние элементы в ряд по вертикали или горизонтали в той же последовательности, в которой они расположены в разметке.

Рассмотрим страницу, содержащую один блок текста и четыре кнопки в контейнере

StackPanel.

CUserControl х:Class="Layout.SimpleStack" xmlns="http: //schemas .microsoft. com/winfx/2006/t5>

xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml ">

<StackPanel Background="White"> <TextBlock Text="PHfl KHonOK"X/TextBlock> <Button Content="KHonica l"x/Button> <Button Content="KHonKa 2"></Button> <Button Content="KHOnKa 3"></Button> <Button Content="Кнопка 4"></Button> </StackPanel> </UserControl>

Результат показан на рис. 3.3.

По умолчанию контейнер StackPanel размещает элементы по вертикали сверху вниз, устанавливая для каждого элемента высоту, необходимую для вывода его содер­жимого. На рис. 3.3 блок текста получил размеры, как раз достаточные для вывода внутреннего содержимого. Всем элементам присваивается полная ширина контейнера StackPanel, т.е. ширина страницы.

CornerRadius="15"> <Button Margin="3" Content="Щєлкнитe здесь"></Button> </Border>

Результат показан на рис. 3.2.

Рис. 3.2. Базовая рамка

В данном примере свойства Height (Высота) и Width (Ширина) страницы не уста­новлены. В результате страница растягивается и занимает всю область содержимого Silverlight (т.е. все окно браузера). В большинстве примеров главы используется такой же подход, поскольку он облегчает эксперименты с контейнерами разных типов. Вы увидите, как контейнер изменяет свои размеры, приспосабливаясь к разным размерам страницы при перетаскивании границ окна браузера.

Рис. 3.3. Панель StackPanel

Примечание. После изучения всех типов контейнеров рассмотрим размеры страницы подробнее. Вы узнаете о способах обработки содержимого, не помещающегося в окне браузера.

можно также применить для размещения элементов по гори­зонтали. Для этого нужно установить его свойство Orientation.

<StackPanel Orientation="Horizontal" Background="White">

При этом элементам присваивается минимальная ширина, достаточная для разме­щения текста, а в высоту элементы растягиваются до размеров контейнера (рис. 3.4).

Рис. 3.4. Горизонтальная ориентация дочерних эле­ментов контейнера StackPanel

Как видите, контейнер StackPanel не предоставляет гибкости, необходимой для ре­альных приложений. Немного гибкости добавляют ему свойства дочерних элементов, рассматриваемые в следующем разделе.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии