Windows 8 : développer sa première application Modern UI App Windows 8 : écriture du code

Nous allons à présent écrire du code pour l'application. Ne soyez pas inquiet s'il vous paraît initialement confus. Vous allez implémenter certaines fonctionnalités spécifiques, mais vous apprendrez leur fonctionnement dans les chapitres ultérieurs.

Tout d'abord, puisque l'application a été déclarée comme une cible du partage, nous devons mettre en œuvre l'événement qui permet de gérer le partage. Dans le fichier App.xaml.cs (le fichier de code de l'application), ajoutez le code suivant, qui redéfinit une méthode de la classe App (notez qu'il reproduit le code généré par le modèle pour le lancement de l'application, la seule différence étant le passage de la page en paramètre) :

protected override void OnShareTargetActivated
(ShareTargetActivatedEventArgs args)
{
var rootFrame = new Frame();
rootFrame.Navigate(typeof(MainPage), args);
Window.Current.Content = rootFrame;
Window.Current.Activate();
}

Lorsque l'utilisateur choisit l'icône Partager, la liste des applications qui se sont déclarées en tant que cible du partage s'affiche. Pour voir ce fonctionnement à l'œuvre, ouvrez une application qui partage des images, comme Photos, et, tout en maintenant la touche Windows enfoncée, appuyez sur C (ou effectuez un balayage avec le doigt à partir du côté droit de l'écran). La Figure 2.9 montre le résultat du partage de l'image de couverture de la version anglaise de cet ouvrage et la possibilité de choisir l'application ImageHelper.

figure 2.9 - après un clic sur l'icône partager dans l'application photos.
Figure 2.9 - Après un clic sur l'icône Partager dans l'application Photos. © Pearson


Si l'utilisateur sélectionne notre application, la méthode OnShareTargetActivated est appelée avec les informations partagées. Le code ressemble à celui de lancement qui crée un cadre pour la navigation, ajoute une page au cadre (la page d'accueil), active la fenêtre et passe à la première page.

Le code de MainPage.xaml.cs n'est pas terminé. Ajoutez un champ privé pour contenir un objet WriteableBitmap (au début du fichier, vous devez également ajouter une instruction using pour Windows.UI.Xaml.Media.Imaging). Il servira à stocker la photo prise à l'aide de la webcam ou l'élément partagé :

 private WriteableBitmap _writeableBitmap;