在UWP中隐藏BottomAppBar(Windows 10)

时间:2017-09-29 03:01:24

标签: c# uwp appbar

我正在尝试隐藏我的BottomAppBar,这只适用于我的应用程序中的管理员。

我希望BottomAppBar在我启动后隐藏,只有当我右键单击鼠标时才会出现。

目前,当我启动应用程序时,应用栏会以最小化模式显示,如下所示:

Image

我希望完全隐藏它,以便用户不知道有设置页面/ bottomAppBar。

这是我的代码:

<Page.BottomAppBar>
    <AppBar Background="{StaticResource CitiKioskBackgroundBrush}"
            IsOpen="False"
            IsSticky="False">
        <StackPanel Orientation="Horizontal">
            <AppBarButton Name="SettingAppBarButton"
                          Click="SettingAppBarButton_Click"
                          Icon="Setting"
                          Label="Settings" 
                          Foreground="White"/>
        </StackPanel>
    </AppBar>
</Page.BottomAppBar>

1 个答案:

答案 0 :(得分:1)

您可以将底部应用栏的可见性设置为Collapsed,然后在页面的loaded event中设置逻辑以识别管理员用户并将可见性设置为Visible ..所以你可以做这样的事情..

XAML

<Page.BottomAppBar>
    <AppBar x:Name="appBarName" <!-- Added Name -->
            Visibility="Collapsed" <!-- Changed default Visibility -->
            Background="{StaticResource CitiKioskBackgroundBrush}"
            IsOpen="False"
            IsSticky="False"
            Visibility="Collapsed">
        <StackPanel Orientation="Horizontal">
            <AppBarButton Name="SettingAppBarButton"
                          Click="SettingAppBarButton_Click"
                          Icon="Setting"
                          Label="Settings" 
                          Foreground="White"/>
        </StackPanel>
    </AppBar>
</Page.BottomAppBar>

C#(代码背后)

private void Page_Loaded(object sender, RoutedEventArgs e)
{
   if(admin)//your logic here to identify admin user
     appBarName.Visibility = Visibility.Visible;
}

修改

您可以将以下代码添加到您想要的任何事件处理程序,例如按钮单击或RightTapped事件..

  

更新了切换可见性的代码

bool toggle=false;
//Code for toggling your app bar visibility 
private void UserControl_RightTapped(object sender, RoutedEventArgs e)
{   
    if(toggle)
    {
       appBarName.Visibility = Visibility.Visible; 
       toggle=false;
    }else{
       appBarName.Visibility = Visibility.Collapsed; 
       toggle=true;
    }

}