/ / Windows 10 Mobile - nemôže skryť stavový riadok (StatusBar neexistuje v kontexte) - okná, stavový riadok

Windows 10 Mobile - nemôžete skryť stavový riadok (stavový riadok neexistuje v kontexte) - windows, statusbar

Pokúšam sa skryť stavový riadok v mojej univerzálnej aplikácii pre systém Windows 10. Vo WP 8.1 som používal StatusBar.GetForCurrentView().HideAsync();skryť stavový riadok, to však nebude fungovaťv mojom aktuálnom projekte (Monogame, Win10 UAP) - Zobrazuje sa mi chyba „StatusBar sa nenašiel v aktuálnom kontexte“ (áno, používam Windows.UI.ViewManagement). Robím niečo zlé, alebo bola táto možnosť na odstránenie StatusBar odstránená? Ako to mám urobiť vo W10M? Vopred ďakujem.

odpovede:

21 pre odpoveď č. 1

Trik je v tom, že najskôr musíte pridať odkaz na súpravu Microsoft Mobile Extension SDK. Potom je kód nasledujúci:

StatusBar statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
await statusBar.HideAsync();

Odkaz možno pridať kliknutím pravým tlačidlom myšiuniverzálny projekt. Vyberte možnosť „Pridať referenciu“. V dialógovom okne Správca referencií vyberte vľavo „Windows Universal“. Vyberte položku Rozšírenia a začiarknite políčko Microsoft Mobile Extension SDK ....

V Správcovi referencií vyberte rozšírenie SDK

Pretože sa jedná o univerzálnu aplikáciu, bude fungovať na všetkýchale rozhranie API bude k dispozícii iba na mobilných zariadeniach (aka Phones) v systéme Windows 10. Preto by ste mali zistiť, či je toto rozhranie API dostupné za behu ešte pred tým, ako skutočne zavoláte rozhranie API. Inak za behu hodí TypeLoadException.

Použite Windows.Foundation.Metadata.ApiInformation Namespace, aby ste zistili, či je API k dispozícii. (Napr. Metóda IsTypePresent (). Odporúčam pracovať s typom namiesto reťazcov tu, napr. Páči sa ti to:

var isStatusBarPresent = ApiInformation.IsTypePresent(typeof(StatusBar).ToString());

Viac informácií o adaptívnom kóde nájdete tu: https://channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10/08