2012-10-05 61 views
4

那么,我的问题是什么?我有一个popup,当我打开它时,我想禁用我的Windows手机应用程序中的当前页面。所以我让这this.IsEnabled = false;但我的ApplicationBar仍然可用。当然,我试着用:Windows手机禁用应用程序栏按钮

ApplicationBar.IsMenuEnabled = false; 

我的下一个想法是做这样的事情:

for (int i = 0; i < ApplicationBar.MenuItems.Count; i++) 
{ 
    ((ApplicationBarMenuItem)ApplicationBar.Buttons[i]).IsEnabled = false; 
} 

,仍然没有结果。我确信以前有人做过,你能告诉我怎么做?

回答

14

应用程序栏由一个Buttons集合和MenuItems集合组成。对于你的例子,你会想尝试像

foreach (var button in ApplicationBar.Buttons) 
{ 
    ((ApplicationBarIconButton) button).IsEnabled = false; // disables the button 
} 

ApplicationBar.IsMenuEnabled = false; // this will prevent menu from opening 

如果这不工作,你有没有考虑隐藏应用栏?
ApplicationBar.IsVisible = false;

2

不幸的是,根据this post存在,这意味着设置一个ApplicationBarMenuItemIsEnabled财产没有得到兑现,直到菜单关闭并重新打开一个错误。

0

试试这个:

XAML:

<shell:ApplicationBar IsVisible="False"> 

的.cs

Dispatcher.BeginInvoke(() => 
      { 
       UIHelper.ToggleVisibility(Canvas_LocationAR_Trans); 
       UIHelper.ToggleVisibility(Grid_LocARLoadingGrid); 
       **ApplicationBar.IsVisible = true;** 
      }); 
3

这个怎么样

((ApplicationBarIconButton)this.ApplicationBar.Buttons[1]).IsEnabled = true; 

其中[1]是按钮的索引你要启用/禁用

我知道一个事实,这个工程,我有一个使用它在Windows Phone 8的应用程序代码

你能发布一些代码来给我们看,请

相关问题