如何在ApplicationBarMode之间切换

时间:2014-04-12 19:20:30

标签: c# windows-phone-8 application-bar

我想知道是否可以在最小化和默认大小之间以编程方式更改应用栏模式。例如,如果在用户按下省略号时应用程序栏最小化,我可以切换到默认模式并仅显示按钮(无菜单项)。然后,当用户再次选择菜单项时,使用默认模式显示,然后当该菜单关闭时,它将返回最小化模式?

编辑:

enum AppBarMode { IsMinimized, IsShowingButtons, IsShowingMenu };
AppBarMode mode;

void ApplicationBar_StateChanged(object sender, ApplicationBarStateChangedEventArgs e)
    {
        //if (e.IsMenuVisible)
        //    ApplicationBar.Mode = ApplicationBarMode.Minimized;
        //else
        //    ApplicationBar.Mode = ApplicationBarMode.Default;

        if (mode == AppBarMode.IsMinimized)
        {
            ApplicationBar.Mode = ApplicationBarMode.Default;
            mode = AppBarMode.IsShowingButtons;
        }
        if(mode == AppBarMode.IsShowingButtons)
        {
            ApplicationBar.Mode = ApplicationBarMode.Default;
            mode = AppBarMode.IsShowingMenu;
        }
        if(mode == AppBarMode.IsShowingMenu
        {
            ApplicationBar.Mode = ApplicationBarMode.Minimized;
            mode = AppBarMode.IsMinimized;
        }
    }

1 个答案:

答案 0 :(得分:1)

是的,只需更改Mode property值。

查看您的代码,您需要else在第二和第三if之前,否则您将两次切换模式。