UWP AppBarButton MenuFlyout удалить верхнее поле - PullRequest
0 голосов
/ 30 января 2019

У меня есть MenuFlyout, который создается из AppBarButton.У всплывающего окна есть верхнее поле 4, которое я использовал для удаления следующим образом:

<MenuFlyout.MenuFlyoutPresenterStyle>
    <Style TargetType="MenuFlyoutPresenter">
        <Setter Property="Margin" Value="0,-4,0,0"/>
    </Style>
</MenuFlyout.MenuFlyoutPresenterStyle>

Однако это больше не работает после того, как я обновил Целевую версию с 1803 до 1809.

Как можноЯ снова уберу поле?Пожалуйста, смотрите мой код и картину проблемы ниже.Всплывающее меню появляется на кнопке со значком с многоточием.

<AppBarButton Style="{StaticResource AppBarMoreButtonStyle}" Name="Menu" Width="{StaticResource TopBarHeight}" Icon="More">
    <AppBarButton.Flyout>
        <MenuFlyout>
            <ToggleMenuFlyoutItem Name="Switch" Click="Switch_OnClick" Text="Item" HorizontalAlignment="Stretch"/>
            <MenuFlyoutItem Text="{StaticResource ButtonLogoutContent}" Click="AppBarButtonSignOut_OnClick" HorizontalAlignment="Stretch"/>
        </MenuFlyout>
    </AppBarButton.Flyout>
</AppBarButton>

MenuFlyout

Редактировать: Результат предложения Xeorge Xeorge.Начальная точка полета:

MenuFlyout

1 Ответ

0 голосов
/ 30 января 2019
private void AppbarButton_Tapped(object sender, TappedRoutedEventArgs e)
        {
            YourFly.ShowAt(AppbarButton, new Point(AppbarButton.ActualWidth-160, AppbarButton.ActualWidth-10));
        }

Вы должны поместить всплывающее окно внутри узла вместо, с x: Name вместо Name.

   <MenuFlyout x:Name="YourFly"  >
            <MenuFlyoutItem Text="Item"  x:Name="item1"  Width="160"/>
            <MenuFlyoutItem Text="Log out" x:Name="item2" Width="160"/> 
        </MenuFlyout >

в качестве расширения вашего вопроса, вы должны установить фиксированную ширину во всплывающем окне.товар.

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