Browsed by
Month: April 2011

Un contrôle bubbleText

Un contrôle bubbleText

Suite à une demande de David Poulin qui souhaitait avoir un contrôle semblable aux bulles de l’application SMS de windows phone 7, j’ai pris 5 minutes pour lui en développer un. Les possibilités définir la position de la pointe de la bulle : en haut à gauche ou en bas à droite changer le background : par défaut la couleur ‘accent’ changer le foreground pour le texte modifier le contenu pour afficher ce que l’on souhaite : une image, un bouton,…

Read More Read More

Préparer sa certification Windows Phone 7 : partie 1

Préparer sa certification Windows Phone 7 : partie 1

Depuis le 19 avril, nous avons la possibilité de passer la certification 71-599 en version béta . Je l’ai pour ma part passé le 21. Afin de vous aider à préparer votre certification, je vais compiler sur plusieurs articles les différents points indispensables à maîtriser pour la passer dans de bonnes conditions. Pour chaque partie je vais lister les différents points à maîtriser à titre d’exemple, toutefois des questions peuvent être abordées sur des points non listés. Nous allons détailler dans cet article les…

Read More Read More

Repasser l'écran du HTC Mozart 7 en 32bits

Repasser l'écran du HTC Mozart 7 en 32bits

Avant de commencer, cette manipulation est uniquement réservée aux personnes ayant un compte développeur. Si comme moi, la mise à jour Nodo a détérioré significativement la qualité de l’affichage des dégradés, voici une solution pour repasser votre écran comme avant. La raison A priori, ce n’est pas la mise à jour du système qui est en cause, mais le firmware HTC qui était livré avec. En effet ce dernier remet vos paramètres d’affichage en 16 bits au lieu de 24/32…

Read More Read More

Calculer l'acronyme d'une suite de mot

Calculer l'acronyme d'une suite de mot

Pour l’application TVShow, je souhaitais calculer l’acronyme d’un nom d’une série un peu long, comme par exemple  : How I Met Your Mother ==> HIMYM Saturday Night Live ==> SNL var accro= TVShow.Title.Split(new char[] { ‘ ‘ }).Select(s=>s[0].ToString()).Aggregate((a,b)=>a+b).ToUpper(); On découpe la phrase par rapport aux espaces, on récupére la première lettre de chaque mot, on les combine et enfin on convertit le résultat en majuscules. Si vous n’êtes pas familier avec la fonction Aggregate, c’est une fonction d’accumulation sur une séquence….

Read More Read More

LimitedObservableCollection : Code complet

LimitedObservableCollection : Code complet


using System.Collections.Specialized; using System.Collections.ObjectModel; using System.Collections.Generic; using System.Linq; namespace Huyn { public class LimitedObservableCollection: INotifyCollectionChanged, IEnumerable { private int _limit; private ObservableCollection _observable; public LimitedObservableCollection(ObservableCollectiono, int limit) { _observable = o; _limit = limit; o.CollectionChanged += new NotifyCollectionChangedEventHandler(o_CollectionChanged); } void o_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Replace: if (e.NewStartingIndex >= 0 && e.NewStartingIndex < _limit) { OnCollectionChanged(e); } break; case NotifyCollectionChangedAction.Add: if (e.NewStartingIndex >= 0 && e.NewStartingIndex < _limit) { OnCollectionChanged(e); if (_observable.Count > _limit) {…

Read More Read More

LimitedObservableCollection : partie 2

LimitedObservableCollection : partie 2

  Suite à la partie 1 de la création de la classe LimitedObservableCollection, nous allons dans cet article implémenter les 4 cas types d’évènements vu précédemment.   Nous allons compléter la méthode Le remplacement d’un item     Nous allons dans un premier temps vérifier que l’index de notre item est entre zéro et limit et si c’est le cas, on fera suivre l’événement   case NotifyCollectionChangedAction.Replace: if (e.NewStartingIndex >= 0 && e.NewStartingIndex < _limit) { OnCollectionChanged(e); } break; L’ajout…

Read More Read More

LimitedObservableCollection : partie 1

LimitedObservableCollection : partie 1

Problématique Lorsque l’on souhaite limiter le nombre d’Item dans une listbox, on écrit : dans le viewmodel public get IEnumerable Last10Messages{ return Messages.Take(10); } et dans le xaml <ListBox ItemSource=”{Binding Messages}” /> <ListBox ItemSource=”{Binding Last10Messages}” /> Le code fonctionne, toutefois, si ‘Messages’ était une ObservableCollection, on perd ici tous ses avantages. En effet, si vous ajoutez un nouvel item à messages, il sera automatiquement ajouté dans la première listbox mais pas dans seconde. En effet, la fonction ObservableCollection::Take va retourner…

Read More Read More

Revue des blogs #1

Revue des blogs #1

Chaque semaine, je vais essayer de vous faire une sélection d’articles de blogs intéressants. On parlera beaucoup de .Net et de la XAML family (Silverlight, WPF et WP7), mais pas que ! Pour cette première semaine, comment créer ses microsoft tags, une web TV, l’avenir de silverlight, F# et la communauté des développeurs windows phone 7 qui commence à bien grandir !

Si Grégoire codait en C# avec Linq, voilà ce que ça donnerait

Si Grégoire codait en C# avec Linq, voilà ce que ça donnerait

A force d’enseigner Linq, je voulais changer un peu, voila donc une façon originale de l’apprendre  via les paroles de la chanson “Toi+Moi” façon C# 😀 (et il a raison, la chanson est bien niaise)         void Launch() { var group1 = GetGroup((p) => p.InsoucianceAsync()); Action1(group1); var group2 = GetGroup((p) => p.LuckyDay = DateTime.Now.Date); Action2(group2); group1 = GetGroup((p) => p.InsoucianceAsync()); Action3(group1); group2 = GetGroup((p) => p.LuckyDay = DateTime.Now.Date); Action4(group2); group1 = GetGroup((p) => p.InsoucianceAsync()); group2 = GetGroup((p)…

Read More Read More

Problème d'animation d'un panorama au démarrage

Problème d'animation d'un panorama au démarrage

Habitué à l’animation de démarrage du panorama au lancement d’une page sur Windows Phone 7, j’ai été surpris ce matin de constater que mon dernier prototype affichait directement le panorama sans animation. J’ai donc cherché quel était la différence entre ce projet et mes autres, en reprenant la même page, mais en l’incluant dans un autre projet, l’animation se faisait bien. Au fur et à mesure, je remarque que si j’ajoutais une BitmapImage dans les ressources de l’application, cela semblait…

Read More Read More