Event Handler in Windows Store-Apps hinzufügen

XAML-Element:

1
<Grid x:Name="advert">...</Grid>

Möglichkeit 1

1
<Grid x:Name="advert" Tapped="AdvertTapped">...</Grid>
1
2
3
4
private void AdvertTapped(object sender, TappedRoutedEventArgs e)
{
 // do something
}

Möglichkeit 2

1
2
3
4
5
6
7
8
9
10
11
public GroupDetailPage()
{
  this.InitializeComponent();
 
  advert.AddHandler(Grid.TappedEvent, new TappedEventHandler(AdvertTapped), true);
}
 
private void AdvertTapped(object sender, TappedRoutedEventArgs e)
{
 // do something
}

Möglichkeit 3

1
2
3
4
5
6
7
8
9
10
11
public GroupDetailPage()
{
  this.InitializeComponent();
 
  advert.Tapped += new TappedEventHandler(AdvertTapped);
}
 
private void AdvertTapped(object sender, TappedRoutedEventArgs e)
{
  // do something
}

Möglichkeit 4

1
2
3
4
5
6
7
8
9
public GroupDetailPage()
{
  this.InitializeComponent();
 
  advert.Tapped += (sender, e) =>
  {
    // do something
  };
}

Abstand in Windows Store-App mit C# setzen

Für eigene Elemente kann der Abstand mit XAML ganz leicht gesetzt werden:

<Grid x:Name="FullScreenContent" Margin="11,22,33,44">
  ...
</Grid>

Mit C# geht das aber auch:

FullScreenContent.Margin = new Thickness(11,22,33,44);

Möchte man nur den linken Abstand ändern, so kann man dies wie folgt tun:

Thickness marginCopy = FullScreenContent.Margin;
marginCopy.Left = 11;
FullScreenContent.Margin = marginCopy;

Die Abstände werden übrigens in dieser Reigenfolge angegeben: Margin="links,oben,rechts,unten".
Das entspricht dem Uhrzeigersinn, beginnend von links.

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.

Toast Notifications mit JavaScript in Windows Store-Apps anzeigen

Toast Notifications (dt. Kachelbenachrichtigungen) sind Popupbenachrichtigungen, die in der rechten oberen Ecke einer Windows Store-App angezeigt werden können. Hier ein Beispiel einer solchen Benachrichtigung:

Möchte man für die eigene Windows Store-App mit JavaScript ebenfalls eine solche Toast-Benachrichtigung erstellen, muss man folgende Schritte beachten.
Toast Notifications mit JavaScript in Windows Store-Apps anzeigen weiterlesen

Objekte sortieren mit LINQ

In „[post id=“4996″]Strings alphabetisch sortieren mit LINQ[/post]“ habe ich gezeigt, wie man ganz leicht Zeichenketten sortieren kann. In diesem Beispiel möchte ich zeigen, wie man Objekte komplexerer Datentypen sortieren kann. Mit LINQ geht das auch wieder sehr leicht von der Hand.
Objekte sortieren mit LINQ weiterlesen

Data Binding mit ListView und ItemTemplate

Daten können in Windows Store apps ganz einfach mit C# an ein XAML-Layout gebunden werden. Alles was man dazu braucht sind Daten (z.B. ein Array mit Strings) und ein geeingetes Layout-Element (z.B. eine ListView) mit einem ItemTemplate. Den Code dazu gibt es im Anhang dieses Beitrags. Wer eigene Datentypen an das Layout binden möchte, der kann sich das etwas komplizierte Beispiel „[post id=“4861″]XAML Data Binding mit C# für Windows 8-Apps[/post]“ anschauen.
Data Binding mit ListView und ItemTemplate weiterlesen