C# 在每个appbar按钮Windows Phone 8.1 RT中发布show MenuFlyout项

C# 在每个appbar按钮Windows Phone 8.1 RT中发布show MenuFlyout项,c#,windows-phone-8.1,C#,Windows Phone 8.1,我有appbar按钮,每个按钮内都有弹出式按钮: <Page.BottomAppBar> <CommandBar> <!--app bar basic shape--> <AppBarButton x:Name="BaseShapeMenu" Label="Hình cơ bản"> <AppBarButton.Icon> <FontIcon FontFamily="Seg

我有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>

每个按钮的菜单弹出项都会丢失。运行时,如下图所示显示:


有人能提出任何解决此问题的方法吗?

您是对的,它的Windows 8.1问题将MenuFlyout属性设置在顶部,这会导致缺陷,因为它位于其他弹出按钮的顶部。
我找到的唯一解决方案是在弹出按钮中添加额外的空白菜单项

 <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>


请添加回您的点击事件并删除命名,因为我正在测试您的代码,以给您一个可能的答案,并且必须删除它们
希望这有帮助:)

谢谢你的帮助,但不要用任何方法解决这个问题。我必须等待更新的微软的问题,不是吗?再次感谢您的回答。然而,答案并不能满足我的期望。我以前可以这样做,但我不想用这种方式,代码仍然正确地运行。