2016-02-06 127 views
1

我有一個應用程序,檢查用戶是否是管理員,如果不是,我想隱藏一些命令,如AppBarButton和menuflyout。當用戶不是管理員時,如何在後面的代碼中使用visibility.collapsed隱藏這些命令?使用可見性隱藏AppBarButton摺疊

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> 

回答

0

您可以隱藏整個應用程序欄或設置它的能見度倒塌:

  • ApplicationBar.IsVisible = false;
  • ApplicationBar.Visibility = Visibility.Collapsed;

如果您需要訪問單個按鈕,你可以使用2方法 你可以完全刪除按鈕:

  • ApplicationBar.Buttons.RemoveAt(0);

或使用該按鈕的指數,並設置其屬性IsEnabled

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

If you need additional information - this answer explains it very well.

Check out this one too.