[WinRT] FlipView vertical

Vous connaissez tous le contrôle FlipView qui se branche sur une liste et affiche un élément à la fois, tout en permettant de naviguer de l’un à l’autre d’une pichenette du doigt.

Le comportement par défaut déroule les éléments horizontalement, sauf qu’on aimerait bien basculer en mode vertical ! (vu le titre de l’article, vous l’aviez déjà deviné non ? :-) )

Premier réflexe : on cherche une propriété de type Orientation, comme sur notre bon vieux StackPanel. Grosse déception : il n’y en a pas !

On tripatouille sur internet via notre moteur de recherche préféré, peu de succès, moments de doute … jusqu’à ce que je me rende compte que Javascript a un léger avantage puisqu’il l’a, lui, son attribut Orientation.

Allez, on ne désespère pas ! Le template du contrôle contient les propriétés VerticalNextTemplate et VerticalPreviousTemplate, c’est bien que c’est prévu quelque part !

Après un long jeu de piste, je reviens sur mon bon vieil ami msdn, et là bingo ! La solution :

<FlipView ItemsSource="{Binding Images}">
    <FlipView.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel Orientation="Vertical" />
        </ItemsPanelTemplate>
    </FlipView.ItemsPanel>
    <FlipView.ItemTemplate>
        <DataTemplate>
            <Image Source="{Binding}" />
        </DataTemplate>
    </FlipView.ItemTemplate>
</FlipView>

Et voilà, il suffisait simplement de changer l’Orientation non pas de la FlipView, mais de l’ItemsPanel :-)

0  

Windows Phone : comment rediriger vers les paramètres du téléphone depuis votre app

La philosophie de Windows Phone permet d’interagir avec l’OS sous de nombreuses formes. Parmi celles-ci, le SDK nous donne la possibilité de renvoyer vers les pages des paramètres du téléphone via plusieurs moyens, que l’on développe sous Windows Phone 7 ou 8.

 

Windows Phone 7 et les Launchers

Sous Windows Phone 7, on nous met un Launcher à disposition : ConnectionSettingsTask.
Il s’agit du seul moyen pour rediriger vers les écrans de paramètre suivants : Wifi, Bluetooth, réseau cellulaire et mode avion.

L’utilisation est très simple :

ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask();
connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.WiFi;
connectionSettingsTask.Show();

Vous l’aurez compris, il suffit de jouer sur le paramètre ConnectionSettingsType pour rediriger vers l’écran souhaité :

public enum ConnectionSettingsType
{
    WiFi = 0,
    Bluetooth = 1,
    Cellular = 2,
    AirplaneMode = 3,
}
Petite note à part : pour éviter la perpétuelle exception du « Navigation is not allowed when the task is not in the foreground » lorsqu’on lance plusieurs tâches d’affilé, n’oubliez pas d’encadrer d’un try … catch comme suit :
try
{
    connectionSettingsTask.Show();
}
catch { /* Je sais, c'est sale */ }
Plusieurs solutions existent pour pallier à ce soucis, comme par exemple empêcher de cliquer plusieurs fois d’affilé sur le bouton ou bloquer le launcher lorsque vous êtes en train de naviguer (via Page.NavigatingFrom).
Cette solution peut paraître sale, mais elle a le mérite d’être simple et efficace. Voilà qui vous évitera quelques surprises :)

 

Windows Phone 8 et les URI

Sous Windows Phone 8, on a plus de choix puisqu’on peut passer par le nouveau LaunchUriAsync:

Windows.System.Launcher.LaunchUriAsync(new Uri(URI_Scheme));

De nombreuses URI sont à votre disposition, la liste complète se trouvant sur msdn. Pour celles qui nous intéressent (i.e. en rapport avec les paramètres) :

URI Scheme Description
ms-settings-airplanemode: Lance les paramètres du mode Avion
ms-settings-bluetooth: Lance les paramètres Bluetooth
ms-settings-cellular: Lance les paramètres du réseau cellulaire
ms-settings-emailandaccounts: Lance les paramètres email & comptes
ms-settings-location: Lance les paramètres de localisation
ms-settings-lock: Lance les paramètres de l’écran de verrouillage
ms-settings-wifi: Lance les paramètres Wifi
Voici un exemple redirigeant vers les paramètres de l’écran de verrouillage :
Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-lock:"));
Les autres URI disponibles sont pour la plupart disponibles sous formes de Launchers. Ceci dit, n’hésitez pas à y jeter un coup d’oeil.

Conclusion

Finalement, souvenez-vous que ces raccourcis existent, ils peuvent grandement améliorer l’expérience utilisateur. Cela leur permettra d’activer/désactiver des paramètres sur lesquels on n’a pas la main depuis l’application.

Par exemple, pensez à proposer un lien direct vers les paramètres Bluetooth si votre app en a besoin et que l’utilisateur ne l’a pas activé.

0  

Windows Phone 8 : nouveau SDK, nouveaux outils

Le tant attendu SDK pour Windows Phone 8 est enfin arrivé et apporte son lot de nouveautés, en apportant notamment son intégration à Visual Studio 2012. Faisons un tour d’horizon de tous ces nouveaux outils venant accélérer le développement d’applications Windows Phone !

Lire la suite sur le blog Soat

0  

Wallbase HD Wallpapers for Windows Phone


Here comes my new app for Windows Phone : Wallbase HD Wallpapers.

The application is based on the great website  Wallbase, which agregates HD wallpapers from all over the web : 4Chan, Deviant Art, etc.

Please don’t hesitate to share your feedbacks, bugs and stuff : http://wallbasewp.uservoice.com.

Description

Over a million HD Wallpapers !
This is an Windows Phone app for the amazing wallpaper website Wallbase.

Features included :
✓ Browse, set and save over 1 million HD wallpapers
✓ Browse popular wallpapers
✓ Browse random wallpapers
✓ Browse recent wallpapers
✓ Browse popular tags
✓ Search by keyword/tags/color
✓ Filter by resolution, rating and 4chan image board
✓ Save a wallpaper

ABOUT WALLBASE
Wallbase (http://wallbase.cc) is a website which scrapes wallpapers from 4chan (http://4chan.org) and then allows users to tag/moderate the wallpapers. If you find a wallpaper which is tagged/classified incorrectly then please visit the wallpaper on the Wallbase website directly to modify it. Please also visit the Wallbase website for handling copyright related issues.

Screenshots








Get it now !

0  

[WP] Informer vos utilisateurs via message serveur

En tant que développeur d’application Windows Phone, la communication avec vos utilisateurs est primordiale. On pense souvent à laisser son mail, pour être contacté en cas de problème ou suggestion, mais contacter dans l’autre sens peut également s’avérer utile !

Lire la suite sur le blog So@t

 

0  

[Meetup Windows Apps] Gérer les tuiles dans Windows 8

J’ai eu le plaisir d’animer une conférence lundi dernier avec mon cher collègue Nathanaël Marchand lors du premier Meetup Windows Apps dédié à Windows 8.

On a parlé tuiles sous Windows 8, avec un tour d’horizon des possibilités, et en insistant bien sur les pièges de la certification.

 

Slides :

Webcast (vers 45″) :

0  

WinRT XAML – Intégrer une police personnalisée

La charte Metro vient simplifier les interfaces, avec une mise en avant de la typographie, on s’en tient au minimum pour se focaliser sur le contenu.

Dans ce contexte, la police de vos applications a son importance. Par défaut, WinRT vous propose Segoe UI et ses déclinaisons, répondant à de nombreuses utilisations. Et si vous vouliez inclure une police plus originale, qui ne serait pas installée sur le poste client ? Dans ce cas, il va falloir l’inclure à votre package… voyons comment procéder.
 

Lire la suite sur le blog So@t

0  

Windows Phone 8 : le plein de nouveautés !

La semaine dernière se déroulait le Windows Phone Summit. Il était question de la prochaine version de l’OS mobile de Microsoft : Windows Phone 8. S’en est suivi un après-midi organisé vendredi par la communauté des développeurs Windows Phone, qui en a profité pour commenter et compléter l’actualité



Note importante : il s’agissait là d’une présentation orientée développeurs. Les nouveautés orientées utilisateur n’étaient pas au menu du jour, ou du moins très peu. D’après les dires de plusieurs officiels, la version 8 du système a encore de quoi nous surprendre.

Lire la suite sur le blog So@t

0  

DevKings : weekend épicé !

L’équipe So@t Experts s’est mobilisée le weekend dernier pour participer aux DevKings 2012, organisé par Microsoft et BeMyApp.

Plusieurs concours étaient organisés : 4 défis de code, 1 finale BeMyApp, 1 finale Accélérateur Windows 8, et 1 finale de la meilleure application tout confondu.

Avec Nathanaël Marchand, nous travaillons depuis quelques temps sur notre temps libre sur une application Win8 : Showrizo ! Elle s’adresse aux sériovores souhaitant gérer le planning de leurs séries, le tout saupoudré d’un humour épicé et basé sur la communauté BetaSeries.

Aïe caramba !

Après 24h de code non stop pour convertir l’application à la Release Preview, des litres de Red Bull et quelques présentations très épicées, nous avons décroché le prix de la meilleure application Windows 8 ! Une belle récompense pour un projet qui nous tient vraiment à coeur.

Les collègues n’étaient pas en reste puisque Nathalie Pettier a été sélectionnée parmi le top 10 avec Smart Shopping, une magnifique application pour suivre l’évolution des prix de vos produits désirés.

Sébastien Ferrand était également de la partie avec l’app « Mon Menu », permettant de composer le menu de la semaine et générer la liste des courses associée. De quoi se faire plaisir en toute simplicité :)

 

Toutes ces applications sortiront très prochainement sur le Windows Store de la Release Preview, en compagnie de plusieurs articles permettant de mieux appréhender le développement sur Windows 8.

A So@t, nous sommes tous très emballés par Windows 8, nous nous investissons à fond sur ce nouvel environnement plein de promesses et nous ferons un plaisir de partager notre expérience.

0  

TechDays 2012, Ze End !

Les TechDays 2012 sont terminés depuis 3 semaines, retour à la réalité. Nous sommes la veille d’une déferlante de beta sauce Microsoft (VS11, Win8, .NET 4.5 …), il est temps de faire le point.

J’ai eu le plaisir et la chance d’animer 2 sessions :

Des jeux et du fun

Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7

Fun et jeux au rendez-vous, So@t a animé son stand cette année avec 2 jeux collaboratifs multi-écrans : SoNuts et SoTank.

- SoNuts : envoyez un écureuil dans les airs à l’aide de votre Windows Phone, puis battez des bras devant Kinect pour le maintenir en l’air le plus longtemps possible.

- SoTanks : pilotez le tank avec l’accéléromètre du téléphone, et dirigez la tourelle avec Kinect pour détruire les cibles adverses.

Ces jeux ont été développés par l’équipe de choc des SoatExperts (dont je fais parti =)) ! Gros débutants dans le domaine des jeux vidéo, on s’est joyeusement lancé dans l’aventure pour un résultat au-delà de nos attentes. C’était vraiment une expérience enrichissante qui nous a permis de tirer parti de plusieurs frameworks. La session – co-animée avec mes chers collègues Nathanaël Marchand et Nathalie Pettier - a été l’occasion de faire un retour d’expérience et d’expliquer les mécaniques et architectures des jeux.

Le moins qu’on puisse dire, c’est qu’on s’est bien amusé ! Pour preuve, vous pouvez retrouver les photos des vaillants joueurs ayant bravé les cieux et détruit les tanks envahisseurs.

Du Windows Phone et des trucs

La dure lutte du développeur : 10 trucs pratiques pour une application mobile bien léchée

J’ai eu le plaisir d’animer cette session Microsoft avec David Poulin (So@t) et Julien Corioland (Infinite Square). Nous avons passé en revue les choses essentielles à ne pas oublier dans le développement d’une application Windows Phone. Ce qui sépare la « bonne » application de la « très bonne » tient à rien du tout. La bataille est dure, mais ce sera pour le plaisir des utilisateurs, et votre plaisir !

Je me suis amusé à développer une animation de type « continuum effect », packagé au format behavior. J’écrirai prochainement quelques articles pour détailler le processus, les astuces et autres pièges, alors stay tuned :)

Je vous conseille vivement de jeter un coup d’oeil au code source de l’application démo MyStore. Nous avons développé une application réelle et complète, regorgeant de fonctionnalités en tout genre (background agent, push, chargement de données, gestion des erreurs, gestion des états, etc.). Le tout est accompagné d’un framework regroupant quelques outils utiles et réutilisables.

 

Les webcasts des différentes sessions seront disponibles prochainement (probablement courant mars).

0