Ich portiere eine Win8.1 App nach UWP für Win10 und erlebe ein seltsames Problem mit AppBar
. Wir haben versucht, CommandBar
anstelle von AppBar
zu verwenden, aber das Problem tritt immer noch bei uns auf. Wir sind auf der neuesten Version von MyToolkit (2.5.16 zum Zeitpunkt der Erstellung). Unsere Ansichten sind wie folgt abgeleitet:
SomeView
stammt von BaseView
dervices von MtPage
(leitet sich von Page
ab)
Für eine bestimmte Ansicht (in diesem Fall HomeView
) sieht das XAML wie folgt aus:
Wo NavigationView
ein UserControl
ist, das einige Schaltflächen hat, und NavigationViewContext
und NavigationViewModel
beschreiben, welche Schaltflächen auf welcher Seite aktiv sein sollen usw.
Das Problem ist, dass dies zu einer Art halboffenen, halbgeschlossenen AppBar
-Erscheinungsbild führt (fast, aber nicht ganz so, als wäre ClosedDisplayMode
auf Compact
gesetzt) wie folgt:
Nach dem Hinzufügen von ClosedDisplayMode="Minimal"
zum Steuerelement <AppBar>
, wie in diese Frage IsOpen = 0
AppBarClosedDisplayMode.Minimal
... hat, aber immer noch stur erscheint halboffen wie im Screenshot oben.
Seltsamerweise wird der HomeView
korrekt mit AppBar
(!):
AppBarClosedDisplayMode.Minimal
zu einer anderen Ansicht und dann wieder zurück navigiert
Wir haben versucht, das NavigatedTo
-Ereignis der Ansicht zu bearbeiten und ClosedDisplayMode
manuell auf Minimal
zu setzen, aber das hat keinen Einfluss auf die gerenderte Ausgabe (und in jedem Fall bestätigt der Live-Visual-Tree, dass dies bereits geschieht korrekt auf Minimal
) gesetzt.
Irgendwelche Ideen, warum das passiert und / oder wie man das AppBar
mit ClosedDisplayMode = Minimal
darstellen kann, ohne zuerst navigieren zu müssen? Ich bin mir sicher, dass ich das vielleicht irgendwie brutal erzwingen könnte, aber ich habe das Gefühl, dass es wahrscheinlich einen besseren Weg gibt oder mir etwas ziemlich Einfaches fehlt.
Wechseln Sie einfach zu CommandBar
. CommandBar
funktioniert out-of-the-box perfekt sowohl für die Modi Minimal
als auch Compact
. CommandBar
ist die empfohlene bevorzugte Kontrolle über AppBar
. Offenbar ist der einzige Grund, AppBar
beizubehalten, die Minimierung von Änderungen.
Wichtig Sie sollten die AppBar nur verwenden, wenn Sie ein Upgrade durchführen Universal Windows 8 App, die die AppBar verwendet und minimiert werden muss Änderungen. Für neue Anwendungen in Windows 10 empfehlen wir die Verwendung der Befehlsleiste Kontrollieren Sie stattdessen.
Seite:
%Vor%
Benutzerkontrolle:
%Vor%