UWP расставляет нижние элементы по вертикали (splitview) - PullRequest
0 голосов
/ 23 ноября 2018

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

Это интерфейс, который у меня есть до закрытия панели

Split view

Я хочу расположить такие предметы, как это

sample ui

1 Ответ

0 голосов
/ 23 ноября 2018

Я бы реализовал это, используя Grid со следующим макетом:

<Grid>
   <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="Auto" />
      <RowDefinition Height="Auto" />
   </Grid.RowDefinitions>
   <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*" />
      <ColumnDefinition Width="Auto" x:Name="SecondColumn" />
      <ColumnDefinition Width="Auto" x:Name="ThirdColumn" />
   </Grid.ColumnDefinitions>
   ...
</Grid>

Теперь используя события PaneClosing и PaneOpening дляпросто измените значения кнопок Grid.Column и Grid.Row соответствующим образом.

Поэтому, когда панель открыта, я бы установил:

  • Grid.Row в 0 для всех трех кнопок
  • Grid.Column до 0, 1, 2 соответственно
  • SecondColumn.Width и ThirdColumn.Width до new GridLength(1, GridUnitType.Star)

И при закрытии:

  • Grid.Row до 0, 1, 2 соответственно
  • Grid.Column до 0 для всех трех кнопок
  • SecondColumn.Width и ThirdColumn.Width до new GridLength(0)

Альтернативным решением было бы использовать StackPanel и просто переключать его Orientation между Horizontal и Vertical, хотя это не поместило бы кнопки рядом друг с другом - чтобы добавить пробелы,вам также придется изменить Margin кнопок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...