【发布时间】:2020-01-11 07:13:05
【问题描述】:
我有一个AppBarButton,点击它会显示MenuFlyout。该按钮位于CommandBar。
但是,由于溢出折叠到MoreButton 后,AppBarButton 的Flyout 变得难以点击。这是因为MoreButton 创建了一个Flyout,第二次点击AppBarButton 隐藏了Flyout。
那么我该如何解决这个问题呢?
我希望将AppBarButton 转换为MenuFlyoutSubItem,但我不知道该怎么做。
关于溢出的另一个问题是,虽然我已经将MoreButton 的CornerRadius 的样式设置为20,但它确实仍然是一个矩形。怎么了?
<Button
x:Name="MoreButton"
Grid.Column="1"
MinHeight="{ThemeResource AppBarThemeCompactHeight}"
Padding="{ThemeResource CommandBarMoreButtonMargin}"
VerticalAlignment="Top"
Control.IsTemplateKeyTipTarget="True"
CornerRadius="20"
Foreground="{TemplateBinding Foreground}"
IsAccessKeyScope="True"
Style="{StaticResource EllipsisButton}"
Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=CommandBarTemplateSettings.EffectiveOverflowButtonVisibility}">
<FontIcon
x:Name="EllipsisIcon"
Height="{ThemeResource AppBarExpandButtonCircleDiameter}"
VerticalAlignment="Center"
FontFamily="{ThemeResource SymbolThemeFontFamily}"
FontSize="20"
Glyph="" />
</Button>
【问题讨论】:
-
@NicoZhu-MSFT 我知道应该避免这种情况,所以我想有没有办法在折叠时将其转换为 MenuFlyoutSubItem?你对我的第二个问题有答案吗?
-
请复制默认样式并删除
X:Key值 -
@NicoZhu-MSFT
<Style TargetType="CommandBar">在哪里?这几乎是我的小修改的默认样式。 -
我的意思是,你需要自定义
CommandBar样式。 -
@NicoZhu-MSFT 是的,我正在定制它。而且 MoreButton 的自定义不起作用。
标签: c# xaml uwp win-universal-app