Главная » Разработка для Windows Phone 7 » Вложенные панели Windows Phone 7

0

StackPanel могут быть вложены друг в друга, что имеет больше смысла в случае, если они по- разному ориентированы. Рассмотрим приложение, где две вертикальные панели вложены в одну горизонтальную:

Проект Silverlight: StackPanelTable Файл: MainPage.xaml (фрагмент)

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <StackPanel Orientation="Horizontal"

HorizontalAlignment="Center" VerticalAlignment="Center"> <StackPanel>

<TextBlock Text="Panel" FontWeight="Bold"

TextDecorations="Underline" /> <TextBlock Text="StackPanel" /> <TextBlock Text="Canvas" /> <TextBlock Text="Grid" /> </StackPanel>

<StackPanel Margin="12 0 0 0">

<TextBlock Text="Properties" FontWeight="Bold"

TextDecorations="Underline" /> <TextBlock Text="Orientation" /> <TextBlock Text="Left, Top, ZIndex" />

<TextBlock Text="RowDefinitions, ColumnDefinitions, etc" /> </StackPanel> </StackPanel> </Grid>

Ширина вертикального StackPanel определяется шириной его самого широкого дочернего элемента, и высота соответствует сумме высот дочерних элементов. Горизонтальный StackPanel выровнен по центру экрана, и его ширина соответствует сумме ширин двух его дочерних элементов.

Это не лучший способ создания таблицы! Здесь все выглядит хорошо, потому что высота всех элементов TextBlock одинаковая. В противном случае строки не были бы выровнены.

Источник: Чарльз Петзольд, Программируем Windows Phone 7, Microsoft Press, © 2011.

По теме:

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