Панель команд UWP справа

Я хочу переместить CommandBar в правую сторону и позволить AppBarButtons течь сверху вниз. Другими словами, я хочу повернуть CommandBar на 90 градусов сверху до правой стороны страницы.

Как я могу этого добиться?

J.


person J.Carden    schedule 09.01.2018    source источник


Ответы (2)


CommandBar не имеет режима вертикальной ориентации, поэтому вы не можете этого сделать. Вы можете повернуть его на 90 градусов, используя

<CommandBar.RenderTransform>
    <RotateTransform CenterX="0" CenterY="0" Angle="90" />
</CommandBar.RenderTransform>

но кнопки также будут вращаться. Вам следует рассмотреть другой элемент управления, например SplitView.

person Sean O'Neil    schedule 09.01.2018

Вы не можете сделать это легко, потому что CommandBar по умолчанию создан для горизонтального режима (включая анимацию расширения, поведение всплывающего окна и т. д.). Приложив больше усилий, вы сможете изменить шаблон по умолчанию, чтобы он поддерживал это. Кроме того, вы можете использовать элементы управления AppBarButton где угодно, а не только в CommandBar. Мое предложение состояло бы в том, чтобы использовать что-то вроде:

<StackPanel Orientation="Vertical">
   <AppBarButton ... />
   <AppBarButton ... />
   <AppBarButton ... />
<StackPanel>

Вы можете использовать свойство LabelPosition AppBarButton, установленное на Collapsed, чтобы скрыть метки для более чистого опыта.

person Martin Zikmund    schedule 09.01.2018
comment
Но как я могу настроить StackPanel на размер AppBarButtons? StackPanel слишком велик и выглядит не очень хорошо - person J.Carden; 09.01.2018
comment
Проблема не в StackPanel, а в отступах по умолчанию, которые есть у AppBarButtons. Вам придется изменить шаблон AppBarButton, чтобы удалить это дополнение. - person Martin Zikmund; 09.01.2018