【问题标题】:Hiding BottomAppBar in UWP(Windows 10)在 UWP 中隐藏 BottomAppBar(Windows 10)
【发布时间】:2018-03-10 21:46:05
【问题描述】:

我试图在我的应用程序中隐藏仅供管理员使用的 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>

【问题讨论】:

  • 考虑 Visibility 属性。

标签: c# uwp appbar


【解决方案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;
    }

}

【讨论】:

  • 嗨!将底部应用栏的可见性设置为 Collapsed 对我帮助很大!谢谢!
  • 但是,如果我希望管理员只在应用程序上执行右键单击事件以打开 appbar,我应该为 if 语句编写什么?
  • 我已经成功展示了appBar,但是再次隐藏它的问题,我已经在下面发布了。如果能解决就好了。
  • 要再次隐藏应用栏,您可以简单地写appBarName.Visibility = Visibility.Collapsed; 将其隐藏在您的活动中。另外我建议您不要在答案部分添加内容。而是请为您的问题添加编辑..
  • 我还添加了用于显示和隐藏应用栏的附加代码。
猜你喜欢
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 2016-03-09
  • 1970-01-01
  • 2020-11-16
  • 2016-10-12
相关资源
最近更新 更多