C# 使用可见性隐藏AppBarButton已折叠

C# 使用可见性隐藏AppBarButton已折叠,c#,xaml,C#,Xaml,我有一个应用程序可以检查用户是否是管理员,如果不是,我想隐藏一些命令,比如AppBarButton和menuflyout。当用户不是管理员时,如何在代码中使用visibility.collapsed隐藏这些命令 private async void Button_OK(object sender, TappedRoutedEventArgs e) { Utilizador u = new Utilizador(null, TextBox1.Text, PasswordBox1.Passw

我有一个应用程序可以检查用户是否是管理员,如果不是,我想隐藏一些命令,比如AppBarButton和menuflyout。当用户不是管理员时,如何在代码中使用visibility.collapsed隐藏这些命令

private async void Button_OK(object sender, TappedRoutedEventArgs e)
{
    Utilizador u = new Utilizador(null, TextBox1.Text, PasswordBox1.Password, null, null, false);
    if (u.GetByLoginAndPassword())
    {
        if (UtilizadorViewModel.Utilizador.Admin == false)
        {
            this.Frame.Navigate(typeof(BlankPage1), UtilizadorViewModel.Utilizador.Nome);
            //Visibility.Collapsed;
            MessageDialog a = new MessageDialog("Bem Vindo! ", u.Nome);
            await a.ShowAsync();
        } else
        {
            this.Frame.Navigate(typeof(BlankPage1), UtilizadorViewModel.Utilizador.Nome);
            //Visibility.Visible;
            MessageDialog a = new MessageDialog("Bem Vindo! ", u.Nome);
            await a.ShowAsync();
        }
    }
    else
    {
        MessageDialog md = new MessageDialog("Nome ou password errados");
        await md.ShowAsync();
    }

<Page.BottomAppBar>
        <CommandBar>
            <AppBarButton x:Name="addp" Label="Add" Tapped="AppBarButton_Tapped" Icon="Add"/>
        </CommandBar>
    </Page.BottomAppBar>
private async void按钮\u确定(对象发送器,tappedroutedventargs e)
{
Utilizador u=新Utilizador(null,TextBox1.Text,PasswordBox1.Password,null,null,false);
如果(u.GetByLoginAndPassword())
{
if(UtilizadorViewModel.Utilizador.Admin==false)
{
this.Frame.Navigate(typeof(BlankPage1),UtilizadorViewModel.Utilizador.Nome);
//能见度。崩溃;
MessageDialog a=新建MessageDialog(“Bem Vindo!”,u.Nome);
等待a.ShowAsync();
}否则
{
this.Frame.Navigate(typeof(BlankPage1),UtilizadorViewModel.Utilizador.Nome);
//可见性。可见;
MessageDialog a=新建MessageDialog(“Bem Vindo!”,u.Nome);
等待a.ShowAsync();
}
}
其他的
{
MessageDialog md=新建MessageDialog(“Nome ou password errados”);
等待md.ShowAsync();
}

您可以隐藏整个应用程序栏或将其可见性设置为折叠:

  • ApplicationBar.IsVisible=false;
  • ApplicationBar.Visibility=Visibility.Collapsed;
如果需要访问单个按钮,可以使用两种方法, 您可以完全移除按钮:

  • ApplicationBar.Buttons.RemoveAt(0);
或者使用该按钮的索引并将其设置为
IsEnabled
属性:

  • ((ApplicationBarIconButton)ApplicationBar.Buttons[buttonIndex]).IsEnabled=false;