Sagen wir, dass ich ein Gitter mit 2 Zeilen, 2 Spalten und vielen Steuerelementen in jeder Zelle habe.
Wenn die Anwendung in den Fangmodus geändert wurde, meinte ich 1/3 des Bildschirms, auf dem ich die Anwendung nur haben möchte, eine Spalte, zwei Zeilen und nur einige Steuerelemente, die ich festlegen würde.
Welche Art von Kontrolle habe ich dafür?
thx
Sie sollten den VisualStateManager in xaml für eine vollständige xaml-Lösung verwenden:
%Vor%Erstellen Sie StoryBoards für jeden VisualState und verstecken / zeigen Sie Elemente in Ihrem XAML an. Microsoft-Beispiele verwenden die gleiche Lösung.
-
Aktualisieren
Ich habe das Netz durchsucht und die richtigen Zustände gefunden, ein Beispiel ist hinter diesem Link: MSDN .
%Vor%Die Zustände entsprechen der ApplicationViewState -Enumerierung. Noch mehr Informationen finden Sie hier .
Ereignisse DisplayProperties.OrientationChanged (wie von @ Jan K. vorgeschlagen) möglicherweise nicht genau das, was Sie suchen, in Anbetracht der Bemerkungen zu dieser Veranstaltung:
Das DisplayProperties.OrientationChanged -Ereignis tritt nur auf, wenn sich die Ausrichtung der Anzeige oder des Monitors ändert und nicht unbedingt, wenn sich die Ausrichtung Ihrer App ändert. Um die Ausrichtung der App für Layoutzwecke zu ermitteln, verwenden Sie die ApplicationView.Value Eigenschaft.
aber da ApplicationView.Value wahrscheinlich wird nach verlassen werden, um Windows 8.1 Release MS vorschlagen verwenden ApplicationView.GetForCurrentView () statt:
Die statischen Methoden von ApplicationView können für Versionen nach der Windows 8.1-Vorschau geändert oder nicht verfügbar sein. Verwenden Sie stattdessen ApplicationView.GetForCurrentView () , um eine Instanz von ApplicationView zu erhalten.
So jetzt ich mit diesem Code am Ende habe (eine Art dynamischer Sicht hat und nicht alles entwirft vorab in XAML über Visual kann leider):
%Vor% Sehen Sie sich die DisplayProperties.OrientationChanged
Tags und Links windows-8 xaml windows-runtime microsoft-metro