Snapped View und weitere Application View States mit C# behandeln

Im Beitrag „[post id=4959]Snap View mit XAML in Windows Store App definieren[/post]“ habe ich gezeigt, wie man mit dem VisualStateManager auf verschiedene Visual Statues in XAML reagieren kann. Das gleiche Verhalten kann man natürlich auch mit reinem C#-Code erzeugen. Hier ein einfaches Beispiel, welches ein XAML-Element im Snapped-View ausblendet und andernfalls wieder anzeigt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public MainPage()
{
  this.InitializeComponent();
  Window.Current.SizeChanged += onSizeChanged;
}
 
private void onSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
{
  ApplicationViewState viewState = Windows.UI.ViewManagement.ApplicationView.Value;
  if (viewState == ApplicationViewState.Snapped)
  {
    MyElement.Visibility = Visibility.Collapsed;
  }
  else
  {
    MyElement.Visibility = Visibility.Visible;
  }
}

Für Windows Store-Apps gibt es folgende View States: FullScreenLandscape, FullScreenPortrait, Filled und Snapped.

Snap View mit XAML in Windows Store App definieren

Eine Snap View lässt sich in einer Windows Store app mit dem VisualStateManager sehr einfach realisieren. Damit der VisualStateManager genutzt werden kann, muss die Seite vom Typ LayoutAwarePage sein.

Wer ein neues Element zu seinem Projekt (seiner Solution) hinzufügt, der kann bereits die Basic Page auswählen und erhält dann bereits eine Vorlage für eine LayoutAwarePage. Alles was man dann noch tun muss, ist den VisualState definieren (z.B. Snapped für die Snap View) und das Verhalten der Layout-Elemente, wenn dieser Zustand erreicht wird.

Mit XAML sieht das dann in etwa so aus:
Snap View mit XAML in Windows Store App definieren weiterlesen

Windows 8 App View States kontrollieren

Eine Windows 8-App kann unterschiedliche Gestalten annehmen. Besonders beliebt beim Benutzer ist die Funktion, eine Windows 8-App an die Seitenleiste zu heften. Diese Aktion (auch „snapping“ genannt) führt dazu, dass der App nur noch 320 Pixel Breite zur Verfügung stehen (siehe Guidelines for snapped and fill views). Als Programmierer muss man darauf reagieren, damit die App auch im Snap View sinnvolle Informationen anzeigt oder in einen pausierten Zustand übergeht. Ein Möglichkeit zur Erkennung, möchte ich mit JavaScript vorstellen. Ein sehr gutes Code-Beispiel gibt es auch im Microsoft Entwicklungscenter.
Windows 8 App View States kontrollieren weiterlesen