我有一个应用程序,检查用户是否是管理员,如果不是,我想隐藏一些命令,如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>
答案 0 :(得分:1)
您可以隐藏整个应用栏或将其设置为已折叠的可见性:
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.