我发现没有包含用于操纵menuflyout的属性的示例,因此,如果用户单击togglemenuitem,该菜单将保持打开状态,但是如果失去焦点或单击esc按钮,它将仍然关闭。

我希望该功能保持打开状态,以便用户可以根据需要最多单击24个toggleMenuFlyoutItems,而不必每次都单击menuflyout按钮。

最佳答案

我通过切换离开MenuFlyout元素解决了这一问题。而是使用AppBar和Flyout代替MenuFlyout。这是MainPage.xaml中的相应XAML代码

<AppBar Grid.Row="3" Background="LightGray">
    <StackPanel Orientation="Horizontal">
        <AppBarButton Label="Filter">
            <AppBarButton.Icon>
                <SymbolIcon Symbol="Filter"/>
            </AppBarButton.Icon>
            <AppBarButton.Flyout>
                <Flyout>
                    <StackPanel>
                        <CheckBox x:Name="IncludeCompletedCheckbox" IsChecked="True" Click="FilterCompletedTasks_Clicked">Completed</CheckBox>
                    </StackPanel>
                </Flyout>
            </AppBarButton.Flyout>
        </AppBarButton>
        <AppBarButton Label="Sort">
            <AppBarButton.Icon>
                <SymbolIcon Symbol="Sort"/>
            </AppBarButton.Icon>
            <AppBarButton.Flyout>
                <Flyout>
                    <StackPanel Orientation="Vertical">
                        <RadioButton x:Name="SortMethod_Unsorted" GroupName="SortOptions" IsChecked="True" Click="SortTasks_Clicked">Unsorted</RadioButton>
                        <RadioButton x:Name="SortMethod_ByTitle" GroupName="SortOptions" Click="SortTasks_Clicked">By Title</RadioButton>
                    </StackPanel>
                </Flyout>
            </AppBarButton.Flyout>
        </AppBarButton>
    </StackPanel>
</AppBar>

关于c# - 单击切换菜单项后如何保持menuflyout打开?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31730511/

10-11 02:06