Главная » Silverlight » Объединение ячеек

0

В предыдущих разделах рассмотрено размещение элемента в одной ячейке с помо­щью подключенных свойств Row и Column. Существует также два подключенных свой­ства (RowSpan и ColumnSpan), позволяющие элементу занять несколько ячеек. Указанные свойства задают количество строк и столбцов объединенной ячейки.

Приведенная ниже разметка задает размещение кнопки в первой и второй ячейках первой строки.

<Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="Span Button"></Button>

Ниже показано, как объединить четыре ячейки, размещенные в двух столбцах и двух строках.

<Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" Content="Span Button"></Button>

Объединение строк и столбцов позволяет создавать интересные эффекты. Этот при­ем особенно удобен при необходимости разместить элементы в табличной структуре, разорванной длинными разделами содержимого.

Применив объединение столбцов, можно создать макет, показанный на рис. 3.13, с помощью единственного контейнера Grid. Решетка делит страницу на три столбца, размещает текстовый блок во всех трех столбцах и выравнивает кнопки ОК и Отмена в двух последних столбцах.

<Grid ShowGridLines="True" Background="SteelBlue" HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.RowDefinitions>

<RowDefinition Height="*"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions>

<Grid.ColumnDefinitions> <ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> </Grid.ColumnDefinitions>

CTextBlock Margin="10" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Foreground="White" Text="текстовый пример без вложенных контейнеров"> </TextBlock>

<Button Margin="10,10,2,10" Padding="3"

Grid.Row="l" Grid.Column=" 1" Content="OK"></Button> <Button.Margin="2,10,10,10" Padding="3"

Grid.Row="l" Gr id. Column= " 2 " Content="OTMeHa"></Button>

</Grid>

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

Таким образом, при выборе структуры контейнеров для страницы нужно руковод­ствоваться не только правильным поведением визуальной структуры, но и требова­ниями легкости тестирования, изменения и сопровождения разметки. Для решения простой задачи, такой как размещение группы кнопок, рекомендуется применять по возможности более простой контейнер StackPanel. Если же нужно создать согласован­ную структуру для многих областей страницы, контейнер Grid — незаменимое средство стандартизации разметки.

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

По теме:

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