Макеты сетки в серебряном свете - PullRequest
1 голос
/ 01 ноября 2011

У меня есть две строки сетки, которые будут различаться по содержанию их.

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

А нижний ряд выровнен с нижним по вертикали.

<Grid>     
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="60*" />
    </Grid.RowDefinitions>  
    <Grid Grid.Row="0" VerticalAlignment="Top">
        <Grid VerticalAlignment="Center">
            <StackPanel>
                ...
            </StackPanel>                
        </Grid>
    </Grid>

    <StackPanel Grid.Row="1" VerticalAlignment="Bottom" d:LayoutOverrides="GridBox">
         ...           
    </StackPanel>
</Grid>

Вот как это должно выглядеть.

  +-----------------------------+               +--------------------------------+
  |                             |               |                                |
  |                             |               |                                |
  |                             |               |                                |
  | Content Centered            |               |                                |
  |                             |               |                                |
  |                             |               | Content Centered               |
  |                             |               |                                |
  +-----------------------------+     or        |                                |
  |                             |               |                                |
  |                             |               |                                |
  |                             |               |                                |
  |                             |               +--------------------------------+
  |                             |               |                                |
  | Content at the bottom       |               | Content at the bottom          |
  +-----------------------------+               +--------------------------------+

Содержимое строк может различаться, в какой-то момент я использовал определения строк, но это не сработало, потому что я не знаю фиксированной высоты для каждой строки.

1 Ответ

1 голос
/ 01 ноября 2011

Итак, как я уже сказал, Grid.Row="1" не имеет никакого эффекта, если вы не используете определение серии RowDefinition элементов. В любом случае, проблема, которую вы описываете, достаточно проста,

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid Grid.Row="0">
        <Grid VerticalAlignment="Center">
            <!-- stuff here is center aligned -->
        </Grid>
    </Grid>
    <Grid Grid.Row="1">
        <Grid VerticalAlignment="Bottom">
            <!-- stuff here is bottom aligned -->
        </Grid>
    </Grid>
</Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...