Я намагаюся приховати рядок стану в своєму додатку Windows 10 Universal. У WP 8.1 я використовував StatusBar.GetForCurrentView().HideAsync();
щоб приховати рядок стану, проте це не допоможеу моєму поточному проекті (Monogame, Win10 UAP) - я отримую помилку "StatusBar не знайдено в поточному контексті" (так, я використовую Windows.UI.ViewManagement). Я щось роблю неправильно, або цей варіант видалення StatusBar був видалений? Як мені це зробити в W10M? Заздалегідь спасибі.
Відповіді:
21 для відповіді № 1Хитрість полягає в тому, що спочатку потрібно додати посилання на SDK Microsoft Mobile Extension SDK. Тоді код такий:
StatusBar statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
await statusBar.HideAsync();
Довідку можна додати, клацнувши правою кнопкою миші науніверсальний проект. Виберіть "Додати посилання". У діалоговому вікні "Диспетчер посилань" виберіть "Універсальний Windows" зліва. Виберіть "Розширення" та встановіть прапорець "Microsoft Mobile Extension SDK ...".
Оскільки це універсальне додаток, воно працюватиме на кожномупристрою, але API буде доступний лише на мобільних пристроях (він же Телефони) з ОС Windows 10. Отже, визначте, чи цей API доступний під час виконання, перш ніж ви дійсно викликаєте API. В іншому випадку він викине TypeLoadException під час виконання.
Використовуйте метадані Windows.Foundation.Metadata.Простір імен ApiInformation, щоб дізнатися, чи доступний API. (Наприклад, метод IsTypePresent (). Я рекомендую тут працювати з typeof замість Strings, наприклад подобається це:
var isStatusBarPresent = ApiInformation.IsTypePresent(typeof(StatusBar).ToString());
Докладніше про адаптивний код тут: https://channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10/08