c# - UWP AppBarButton MenuFlyout 移除上边距
问题描述
我有一个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 建议的结果。Flyout的起点:
解决方案
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 >
作为您问题的延伸,您应该在弹出项目上设置固定宽度。
推荐阅读
- django - 如何将 CustomUser 模型保存到另一个模型数据
- php - Laravel 7 上 Mailtrap 的值 null 问题的偏移量
- elasticsearch - 在 ElasticSearch 中查询和排除
- robotframework - 我们如何使用 Ride 在机器人框架中同时在不同的浏览器上运行测试用例
- angular - 角度防护没有触发路由
- html - 在导航栏中修复图像 | 引导程序
- python-3.x - 如何在 pyscipopt 中使用relax() 方法?
- spring-batch - ItemReader 类中的 SpringBatch read() 函数返回类型为 String 并希望返回 FlatFileItemReader
, 我该怎么做? - python-3.x - 如何检查模板上的路线?
- flutter - Flutter中平铺图像的偏移原点