Как задать панель (panel) для управления размещением элементов в XAML?

Пользователь

от ladarius.greenholt , в категории: Компьютерные технологии , год назад

Как задать панель (panel) для управления размещением элементов в XAML?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от aron , год назад

@ladarius.greenholt 

В XAML для задания панели для управления размещением элементов можно использовать один из следующих элементов:

  1. Grid - элемент, который позволяет разбить содержимое на ячейки с заданными размерами. Каждый элемент размещается в своей ячейке.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <TextBlock Text="Заголовок" Grid.Row="0" Grid.Column="0" />
    <Button Content="Кнопка" Grid.Row="0" Grid.Column="1" />
    <TextBox Text="Текстовое поле" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" />
</Grid>


Этот пример задает сетку с двумя строками и двумя столбцами. Текстовое поле помещается на обе столбца. Заголовок и кнопка находятся в первой строке.

  1. StackPanel - элемент, который размещает элементы друг за другом в заданном порядке (горизонтальном или вертикальном).


Пример:

1
2
3
4
5
<StackPanel Orientation="Vertical">
    <TextBlock Text="Первый элемент" />
    <TextBlock Text="Второй элемент" />
    <TextBlock Text="Третий элемент" />
</StackPanel>


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

  1. WrapPanel - элемент, который размещает элементы друг за другом в последовательности слева направо и сверху вниз. Если места для размещения элемента не хватает, он перемещается на новую строку.


Пример:

1
2
3
4
5
6
7
8
<WrapPanel>
    <Button Content="Кнопка 1" />
    <Button Content="Кнопка 2" />
    <Button Content="Кнопка 3" />
    <Button Content="Кнопка 4" />
    <Button Content="Кнопка 5" />
    <Button Content="Кнопка 6" />
</WrapPanel>


Этот пример задает панель, которая размещает кнопки друг за другом, и если места не хватает, перемещает их на новую строку.