【问题标题】:Windows phone disable application bar buttonWindows phone 禁用应用程序栏按钮
【发布时间】:2014-07-17 15:29:52
【问题描述】:

那么,我的问题是什么?我有一个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;
}

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

【问题讨论】:

    标签: c# silverlight windows-phone-7 application-bar


    【解决方案1】:

    应用程序栏由 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】:

      这个怎么样

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

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

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

      你能发一些代码给我们看看吗

      【讨论】:

        【解决方案3】:

        不幸的是,根据this post 的说法,存在一个错误,这意味着设置ApplicationBarMenuItemIsEnabled 属性在菜单关闭并重新打开之前不会得到兑现。

        【讨论】:

          【解决方案4】:

          只需包含 using Microsoft.Phone.Shell 来获取 .cs 文件中的命名空间,您可以执行以下操作:

          ApplicationBar.Enable();
          

          ApplicationBar.Disable();
          

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

          【讨论】:

            【解决方案5】:

            试试这个:

            xaml:

            <shell:ApplicationBar IsVisible="False">
            

            .cs

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-02-26
              • 1970-01-01
              • 2015-07-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多