我有一个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>
编辑:Xeorge的结果Xeorge的建议。弹出式广告的起点:
答案 0 :(得分:1)
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 >
作为问题的扩展,您应该在弹出项目上设置固定宽度。