Я столкнулся с проблемой макета/шаблона с CommandBar
симптомы которого видны на нескольких страницах:
- UWP — пустое пространство CommandBar под кнопками
- https://github.com/microsoft/microsoft-ui-xaml/issues/ 1024а>
Кажется, что элементы UWP CommandBar
внутри CommandBar
имеют фактическую высоту 44 пикселя, которая обрезается в элементе управления 40 пикселов.
- Когда
IsOpen="False"
,AppBarButton
располагаются по центру по вертикали, а нижние 4 пикселя секцииCommandBar.Content
не отображаются. - Когда
IsOpen="Top"
,AppBarButton
смещаются вверх, под ними появляется некрасивый пробел и внезапно отображаются нижние 4 пикселя разделаCommandBar.Content
Помимо уродливого зазора, очень сложно правильно центрировать элементы по вертикали в CommandBar.Content
.
О вертикальном положении CommandBar
- Когда CommandBar находится в верхней части страницы, сама CommandBar не изменяет размер по вертикали.
- Когда CommandBar находится внизу страницы, сама CommandBar увеличивается по вертикали на 4 пикселя.
- Во всех случаях другие симптомы
Внизу страницы
Красная линия визуализирует нижние 4 пикселя раздела CommandBar.Content
. Также с эффектом Reveal
слева от курсора мыши видно, что кнопки смещаются вверх. Весь CommandBar растет вертикально
вверху страницы
Попытка выровнять содержимое по вертикали (подсказка: не работает)
Вопрос
Есть ли способ обойти эту проблему? Microsoft квалифицировала это более года назад как то, что могло бы strong> исправление в WinUI 3, которое еще далеко.
Репозиторий ошибок
https://github.com/hansmbakker/CommandBar.BugRepro
Соответствующий код для воспроизведения
<Page x:Class="CommandBar.BugRepro.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CommandBar.BugRepro"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.BottomAppBar>
<CommandBar
VerticalContentAlignment="Bottom"
Background="#BB555555"
DefaultLabelPosition="Right">
<AppBarButton Icon="Back"
Label="Back" />
<AppBarButton Icon="Save"
Label="Save" />
<AppBarSeparator />
<AppBarButton Label="Title" />
<AppBarButton Label="Description" />
<AppBarButton Label="Pictures"
Icon="Pictures" />
<CommandBar.Content>
<Rectangle Fill="Red"
Height="4"
Width="200" />
</CommandBar.Content>
<CommandBar.SecondaryCommands>
<AppBarButton Icon="Setting"
Label="Settings">
<AppBarButton.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control"
Key="I" />
</AppBarButton.KeyboardAccelerators>
</AppBarButton>
</CommandBar.SecondaryCommands>
</CommandBar>
</Page.BottomAppBar>
<Grid>
</Grid>
</Page>