我的appbar按钮里面有每个弹出项目:
<Page.BottomAppBar>
<CommandBar>
<!--app bar basic shape-->
<AppBarButton x:Name="BaseShapeMenu" Label="Hình cơ bản">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="▭"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="'▭' Rectangle" Tag="stRectangle" Click="BaseShapeMFI_Click" />
<MenuFlyoutItem Text="'⬬' Ellipse" Tag="stEllipse" Click="BaseShapeMFI_Click" />
<MenuFlyoutItem Text="'/' Line" Tag="stLine" Click="BaseShapeMFI_Click" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<!--app bar chemical shape-->
<AppBarButton x:Name="ChemicalShape" Label="Hình hóa học">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="⌬"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="'⬡' CycloHexan" Tag="stCycloHexan" Click="ChemicalMFI_Click" />
<MenuFlyoutItem Text="'⌬' Benzen" Tag="stBenzen" Click="ChemicalMFI_Click" />
<MenuFlyoutItem Text="'⬣' BenzenCircle" Tag="stBenzenCircle" Click="ChemicalMFI_Click" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<!--app bar symbol-->
<AppBarButton x:Name="SymbolShape" Label="Ký tự">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="♒"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="'⬡' CycloHexan" Tag="stCycloHexan"/>
<MenuFlyoutItem Text="'⌬' Benzen" Tag="stBenzen" />
<MenuFlyoutItem Text="'⬣' BenzenCircle" Tag="stBenzenCircle" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton x:Name="SelectButton" Label="Chọn hình" Icon="Edit" Click="SelectButton_Click"/>
</CommandBar>
每个按钮的菜单弹出项目都丢失了位置。运行时,它显示如下图所示:
有人可以建议任何解决此问题的方法吗?
答案 0 :(得分:0)
你是对的Windows 8.1问题,其中MenuFlyout的属性设置在Top上,由于它位于其他弹出窗口之上而导致缺陷。
我找到的唯一解决方案是在弹出窗口中添加额外的空白MenuItem
<Page.BottomAppBar>
<CommandBar>
<CommandBar.Background>
<SolidColorBrush Color="#FF1F1F1F" Opacity="0.4"/>
</CommandBar.Background>
<!--app bar basic shape-->
<AppBarButton x:Name="BaseShapeMenu" Label="Hình cơ bản">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="▭"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout x:Name="Flyout_BaseShapeMenu">
<MenuFlyoutItem x:Name="_1" Text="'▭' Rectangle" Tag="stRectangle" />
<MenuFlyoutItem x:Name="_2" Text="'⬬' Ellipse" Tag="stEllipse" />
<MenuFlyoutItem x:Name="_3" Text="'/' Line" Tag="stLine" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<!--app bar chemical shape-->
<AppBarButton x:Name="ChemicalShape" Label="Hình hóa học">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="⌬"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout x:Name="Flyout_ChemicalShape">
<MenuFlyoutItem x:Name="_4" Text="'⬡' CycloHexan" Tag="stCycloHexan" />
<MenuFlyoutItem x:Name="_5" Text="'⌬' Benzen" Tag="stBenzen" />
<MenuFlyoutItem x:Name="_6" Text="'⬣' BenzenCircle" Tag="stBenzenCircle" />
<MenuFlyoutItem/>
<MenuFlyoutItem/>
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<!--app bar symbol-->
<AppBarButton x:Name="SymbolShape" Label="Ký tự" >
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph="♒"/>
</AppBarButton.Icon>
<AppBarButton.Flyout>
<MenuFlyout x:Name="Flypu_SymbolShape">
<MenuFlyoutItem x:Name="_7" Text="'⬡' CycloHexan" Tag="stCycloHexan"/>
<MenuFlyoutItem x:Name="_8" Text="'⌬' Benzen" Tag="stBenzen" />
<MenuFlyoutItem x:Name="_9" Text="'⬣' BenzenCircle" Tag="stBenzenCircle" />
<MenuFlyoutItem/>
<MenuFlyoutItem/>
<MenuFlyoutItem/>
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton x:Name="SelectButton" Label="Chọn hình" Icon="Edit"/>
</CommandBar>
</Page.BottomAppBar>
请在我测试代码时添加您的点击事件并删除命名,以便为您提供可能的答案,并且必须将其删除。
希望这有助于:)