2012-10-05 62 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的應用程序代碼

你能發佈一些代碼來給我們看,請

相關問題