Как отключить панель приложений Windows 8/WinRT?

Моя цель состоит в том, чтобы AppBar был доступен только при определенных обстоятельствах. Я пытаюсь сделать это, создав AppBar, но оставив его отключенным до тех пор, пока не возникнет это обстоятельство. Однако, если вы установите для атрибута IsEnabledна AppBar значение False, когда вы запустите свое приложение и щелкните правой кнопкой мыши -(, что обычно открывает AppBar ), приложение аварийно завершает работу. Это ошибка в фреймворке? Как правильно отключить AppBar?

РЕДАКТИРОВАТЬ :Это также происходит, когда вы устанавливаете Visibilityна Collapsed.

Дополнительная информация :Я запускаю его через отладчик Visual Studio, но появляется отдельное окно «Visual Studio Just -In -Time Debugger» с сообщением «Необработанное исключение win32 произошло в App.exe [ 2596]. Поверх этого всплывает окно с предупреждением: «Отладчик подключен к App.exe, но не настроен для отладки этого необработанного исключения. Чтобы отладить это исключение, отсоедините текущий отладчик».

РЕДАКТИРОВАТЬ 2 :Это не только мой код. Он также дает сбой, если вы просто добавите IsEnabled="False"в AppBar в собственном примере проекта Microsoft AppBarControl (, который можно найти здесь :http://code.msdn.microsoft.com/windowsapps/XAML-AppBar-control-sample-2aa1cbb4)

. РЕДАКТИРОВАТЬ 3 :@G. Эндрю Дьюти -devhammer предоставил ответ, который я использую. Я просто хотел добавить, что я обнаружил, что лучше всего использовать this.BottomAppBar = null, чтобы отключить его, а не устанавливать свойства IsEnabledили Visibility. Если вы просто установите Visibilityна Collapsed, то, когда вы щелкнете правой кнопкой мыши -, приложение по-прежнему считает, что AppBar присутствует, даже если она не видна, поэтому ваш следующий обычный щелчок будет интерпретироваться как щелчок, который обычно закрывает AppBar, поэтому вам придется щелкнуть второй раз, чтобы фактически выполнить действие, которое вы пытались выполнить.

11
задан jokeefe 14 August 2012 в 20:17
поделиться