Windows Phone 禁用应用程序栏按钮



那么,我的问题是什么?我有一个popup,当我打开它时,我想在我的 Windows Phone 应用程序中禁用当前页面。所以我做了这个this.IsEnabled = false;但我的ApplicationBar仍然可用。当然,我尝试:

ApplicationBar.IsMenuEnabled = false;

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

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

仍然没有结果。我敢肯定以前做过一些,你能告诉我怎么做吗?

应用程序栏由 Button 集合和 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;

这个怎么样

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

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

我知道这是有效的,因为我有在Windows Phone 8应用程序中使用它的代码

你能发布一些代码让我们看看吗

不幸的是,根据这篇文章,有一个错误,这意味着设置ApplicationBarMenuItemIsEnabled属性在菜单关闭并重新打开之前不会得到尊重。

只需包含使用 Microsoft.Phone.Shell 在 .cs 文件中选取命名空间,即可执行以下操作:

ApplicationBar.Enable();

ApplicationBar.Disable();

据 http://new.efficientcoder.net/2010/10/windows-phone-7-quick-tip-17.html

试试这个:

XAML:

<shell:ApplicationBar IsVisible="False">

。.cs

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

相关内容

  • 没有找到相关文章

最新更新