Expression Studio 4 est disponible en version française

by Fabien Lavocat 16. août 2010 18:01

image

L’annonce a été très discrette (car je n’ai pas vu une seule news sur le sujet), mais Expression Studio 4 est disponible en version française depuis le 5 Août dernier ! Pour tous les abonnés MSDN, connectez-vous sur votre interface de téléchargement, et vous verrez la version Ultimate disponible en téléchargement. Comme je vous l’expliquais dans mon post sur la sortie de la version anglaise, la version Ultimate contient les logiciels Expression Web, Expression Blend 4 + SketchFlow + les SDKs pour Silverlight 4 et .NET 4, Expression Design et Expression Encoder 4 Pro.

Expr

Quelques liens Twitter :

Tags: ,

Expression

WPF - Utilisation des RoutedCommand

by Fabien Lavocat 13. août 2010 17:14

WPFLorsque l’on souhaite utiliser des patterns de développement tel que MVVM (Model View – View Model) il y a une chose à savoir maîtriser (parmi beaucoup d’autres), c’est les RoutedCommand. C’est objets vont nous permettre d’exécuter des actions lorsque des événements seront déclenchés dans l’interface utilisateur. Par exemple, lorsque vous allez cliquez sur un bouton, nous allons déclencher une action. Vous allez me dire, mais ça on sait déjà le faire de plusieurs manière :

Exemple A :

Côté XAML : <Button Content="Click Me!" Click="Button_Click" />
Côté code behind :
private void Button_Click(object sender, RoutedEventArgs e)
{
   
MessageBox.Show("Hello World!");
}

Exemple B :

En s’abonnant à l’événement Click directement dans le code behind : bt.Click += new RoutedEventHandler(Button_Click);

Utilisation simple des RoutedCommand

L’utilisation des patterns de développement, en particulier MVVM, nous insite à placer de moins en moins de code de ce style là (abonnement à des événements) dans le code behind. Voyons donc comment utiliser les RoutedCommand pour palier à ça. Une RoutedCommand est une classe qui implémente l’interface ICommand. Celle-ci posséde deux méthodes qui vont nous interesser, à savoir CanExecute et Execute. La première retourne un booléen disant si oui ou non l’action peut être déclenchée et la seconde représente l’action à exécuter.

Dans notre code behind, nous allons décrire une action qui permettra d’afficher un MessageBox (peu importe le déclencheur pour le moment) :

/// <summary>
/// Création de l'objet RoutedCommand.
/// </summary>
public static RoutedCommand HelloWorldCommand = new RoutedCommand();

/// <summary>
/// Détermine si la commande peut être exécutée ou non.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void HelloWorldCommandCanExecute(Object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute =
true;
}

/// <summary>
/// Exécute l'action.
/// </summary>
/// <param name="target"></param>
/// <param name="e"></param>
public void HelloWorldCommandExecuted(Object target, ExecutedRoutedEventArgs e)
{
   
MessageBox.Show("Hello World!");
}

Afin de pouvoir utiliser cette commande lorsque nous cliquerons sur un bouton, nous allons devoir déclarer cette commande dans le code XAML de cette façon :

<Window.CommandBindings>
    <CommandBinding Command="local:MainWindow.HelloWorldCommand"
                  
CanExecute="HelloWorldCommandCanExecute"
                  
Executed="HelloWorldCommandExecuted"/>
</Window.CommandBindings>

Maintenant, pour que celle-ci soit exécutée lorsque nous cliquons sur le boutton, nous devons associer cette commande à la propriété Command du Button : <Button Content="Click Me!" Command="local:MainWindow.HelloWorldCommand" />

Si vous cliquez sur le bouton, vous aurez un MessageBox avec inscrit “Hello World!”. Voilà, nous avons fait une première RoutedCommand de façon très simple. Allons un peu plus loin dans les possibilités offertes par ces objets.

Utilisation des CommandParameter

Ajoutons un TextBox à notre fenêtre. Nous allons afficher le texte du TextBox dans un MessageBox déclenché par le click du boutton, mais uniquement lorsqu’il y aura un texte dans le TextBox. Pour cela, passons le contenu du TextBox (propriété Text) en paramètre de la commande :

<StackPanel>
    <TextBox x:Name="txtName" />
    <Button Content="Click Me!"
          
Command="local:MainWindow.HelloWorldCommand"
          
CommandParameter="{Binding Path=Text, ElementName=txtName}" />
</StackPanel>

Nous allons lier la propriété CommandParameter à la propriété Text du contrôle txtName. Voici comment récupérer cette valeur dans le code C# :

/// <summary>
/// Détermine si la commande peut être exécutée ou non.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void HelloWorldCommandCanExecute(Object sender, CanExecuteRoutedEventArgs e)
{
   
// Il faut vérifier que nous avons bien un objet en paramètre.
   
if (e.Parameter == null) return;

   
// On récupére la valeur.
   
String value = e.Parameter.ToString();

   
// On autorise l'exécution de la commande uniquement
   
// si l'on a du texte.
    e.CanExecute = value.Trim().Length > 0;
}

/// <summary>
/// Exécute l'action
/// </summary>
/// <param name="target"></param>
/// <param name="e"></param>
public void HelloWorldCommandExecuted(Object target, ExecutedRoutedEventArgs e)
{
   
if (e.Parameter == null) return;
   
String value = e.Parameter.ToString();

   
MessageBox.Show(String.Format("Hello {0}!", value));
}

Voilà le résultat :

Sans titre

Sans titre

L’activation / désactivation du boutton est effectuée automatiquement lorsque le contenu du TextBox change.

Utilisation des InputBindings

Enfin, voyons comment utiliser les racourcis clavier pour exécuter des commandes. Nous allons lier la touche Entrée du clavier à la commande HelloWorldCommand :

<Window.InputBindings>
    <KeyBinding Key="Enter"
              
Command="local:MainWindow.HelloWorldCommand"
              
CommandParameter="{Binding Path=Text, ElementName=txtName}" />
</Window.InputBindings>

Lorsque vous appuyez sur la touche Entrée, si vous avez entré un texte dans le TextBox, la commande HelloWorldCommand se déclenchera.

Comme vous pouvez le constater, il est vraiment simple de créer ses propres commandes et de les utiliser dans vos applications WPF. Si vous souhaitez télécharger l’exemple que j’ai utilisé, cliquez sur le lien suivant : DemoCommandWPF.zip (55 ko).

Tags:

WPF

La gagnante de la licence MSDN Ultimate est Soumow Atitallah !

by Fabien Lavocat 4. août 2010 19:05

imageFélicitation à Soumow Atitallah qui va très prochainement recevoir une carte d’abonnement MSDN !

Microsoft Student Partner pendant 2 annnées, finaliste Imagine Cup Tunisie 2009 et finaliste mondiale en Pologne de l’Imagine Cup 2010 et tout recement diplômée d’une école d’ingénieur en informatique, Soumow a montré ses capacité à affronter des défits ! Certifiée MCP et MCTS sur WPF, nous ne tarderons pas à voir ses futurs projets sur Silverlight et Azure !

J’ai reçu de très bon mails pour obtenir cette licence MSDN, j’aurai tellement voulu en offrir plus, mais le choix n’a pas été facile. Pour tous les étudiants, je vous invite à contacter vos établissements respectifs pour essayer d’obtenir l’abonnement MSDNAA qui vous permettra de bénéficier d’avantages certains sur les produits Microsoft, gratuitement ! Pour les autres, les versions d’évalutation de Visual Studio 2010sont disponibles sur MSDN. Vous avez tous de plus ou moins bons projets, que j’espère vous voir accomplir rapidement. N’hésitez pas à me contacter pour me donner des nouvelles de vos aventures.

Je vous invite à suivre l’actualité de son blog mais également son Twitter image @soumow. Soumow, tu recevras donc très rapidement une carte d’abonnement à MSDN Ultimate Sourire.

Tags: ,

Actualite du blog

Plus que 48 heures pour l’abonnement MSDN !

by Fabien Lavocat 1. août 2010 22:17

image[1]

Il ne vous reste plus que 48 heures pour tenter de me convaincre de vous envoyer un abonnement MSDN Ultimate. Je vais élargir un peu les régles, si vous êtes étudiant et que vous avez un projet professionnel, même si votre école vous propose un abonnement MSDNAA. En effet les contrats MSDNAA ne vous permettent pas la création d’applications à des fins commerciales, alors que cet abonnement MSDN Ultimate si. Sachez toutefois que même si vous n’avez pas la chance d’être choisi pour recevoir cet carte, il vous sera tout à fait possible d’avancer dans vos projets si vous n’avez que des problèmes de licences sur les produits Microsoft. Et oui, il existe de nombreux programmes qui permettent d’obtenir des licences, à prix réduits, ou gratuitement (sur une certaine période). On citera par exemple le programme BizSpark pour les jeunes startups, WebsiteSpark pour les web agencies, MSDNAA pour les étudiants et enfin (à ma connaissance), DreamSpark, toujours pour les étudiants.

La procédure à suivre pour tenter de recevoir la carte d’abonnement MSDN Ultimate.

Tags: ,

Actualite du blog

Silverlight - Le package de débogage managé de Silverlight n'est pas installé

by Fabien Lavocat 30. juillet 2010 10:58

imageSi vous souhaitez faire du développement Silverlight 3 sur Visual Studio 2008 SP1 vous pourrez obtenir le message suivant : “Impossible de démarrer le débogage. Le package de débogage managé de Silverlight n'est pas installé” ou en anglais : “Unable to start debugging. The Silverlight managed debugging package isn't installed.”. La solution à ce problème est toute simple.

Voici la procédure d’installation à suivre :

Tags:

Silverlight

Un abonnement MSDN Ultimate à offrir !!!

by Fabien Lavocat 26. juillet 2010 23:00

en-US111_Visual_Studio_Ult_2010_MSDN_Rnwl_H9F-00256Vous le savez surement déjà, en tant que MVP (Microsoft Most Valuable Professional), Microsoft a décidé de nous offrir des abonnements MSDN Ultimate pour nous remercier du travail accompli sur la denière release de Visual Studio 2010. Pourquoi je vous en parle ici, tout simplement car il me reste une carte d’abonnement et que je souhaite vous en faire profiter. Donc si vous avez un objectif professionel, et qu’avoir accès à tous les logiciels de développement (Visual Studio 2010, Expression Studio 4…), que vous n’ayez pas les moyens de vous offir cet abonnement, contactez moi en utilisant le formulaire de contact. Bien entendu, si vous pouvez en obtenir un par votre entreprise, ou que votre école / lycée dispose d’un contrat MSDNAA, vous pouvez me parler de votre projet, mais vous ne pourrez prétendre à avoir celui que j’ai à offir.

Comment faire ?

Contactez moi en utilisant le formulaire de contact avant le Mardi 3 Août, en précisant les informations suivantes :

  • Les raisons et motivations pour lesquelles vous pensez que je devrai vous choisir pour bénéficier d’un abonnement MSDN.
  • Certifiez que vous n’avez pas d’abonnement MSDN par votre entreprise (ou par vous même), et que votre école ne bénéficie pas d’un contrat MSDNAA pour les étudiants.
  • Indiquez également votre adresse postale pour que je puisse vous envoyer la carte d’abonnement si vous êtes l’heureux élu Sourire.
  • Si vous avez un blog, un twitter, n’hésitez pas à me donner l’adresse.

Quand ?

Envoyez moi un mail avant le Mardi 3 Août à minuit avec les informations ci-dessus. Ensuite, je procéderai à un premier tri des mails reçus et enfin, le Jeudi 5 Août je choisirai aléatoirement parmi les mails que j’aurai sélectionnés et j’annoncerai la personne qui recevra la semaine suivante sa carte d’abonnement MSDN Ultimate.

Qu’est ce qu’un abonnement MSDN Ultimate ?

L'abonnement de 12 mois à MSDN, d’une valeur de 12 769€, comprend l'accès aux produits et services suivants :

  • Visual Studio Team Foundation Server 2010 et une (1) licence d'accès client
  • Microsoft Expression Studio 4
  • Visual Studio Team Explorer Everywhere 2010
  • Microsoft Office 2010
  • Utilisation productive de Office Professionnel Plus 2010, Project Professionnel 2010 et Visio Premium
  • Windows Azure (Nouvelles conditions disponibles)
  • Systèmes d'exploitation Windows et Windows Server (Windows 7, Windows Server 2008 R2…)
  • Microsoft Dynamics et Microsoft SQL Server
  • Quatre (4) incidents de support technique
  • Deux (2) modules de formation en ligne
  • Support prioritaire dans les forums MSDN

EDIT : Le filtre anti-spam de ma boite semble poser quelques problèmes, envoyez moi directement un mail à fabien . lavocat @ blog - microsoft . fr (sans les espaces).

Tags: ,

Actualite du blog

J’en ai rien à coder 2010 - tentez de gagner Kinect !!!

by Fabien Lavocat 20. juillet 2010 11:44

Xbox-360-Slim-and-kinect

Encore un jeu de l’été pour gagner un pack Xbox 360 un Kinect et un jeu grâce à MSDN ! Celui-ci est vraiment très simple et ne vous demandera pas plus de quelques minutes. L’objectif est de répondre aux 4 questions :

Question 1 - Combien de fois Bill Pas-Gates s’est caché dans les quatre premiers chapitres de « J’en ai rien à coder 2010 » ?
Question 2 - À quel film l’image des chapitres suivants de « J’en ai rien à coder 2010 » fait-elle allusion ?
Question 3 - Combien de vidéos sont au programme du Microsoft ReMIX 2010 ?
Question 4 - Quel est le thème principal de « j’en ai rien à coder 2010 » ?

ff718231_JaracLogo(fr-fr,MSDN_10)

Tags:

Evenements Microsoft

Présentez votre application Windows Phone 7 face à Steve Ballmer

by Fabien Lavocat 19. juillet 2010 18:32

imageMicrosoft vient de lancer une compétition qui consiste à créer une application pour le nouveau terminal mobile Windows Phone 7. L’objectif est de développer une application mobile puis de créer une vidéo d’environ 2 minutes et la publier sur la page Facebook Developpeurs.NET. Ensuite, le 7 Octobre prochain, le jury composé de Steve Ballmer (CEO Microsoft), Pierre Olivier Carles (CEO Kipost et Labotec), Jacques Antoine Granjon (CEO Vente-privée.com), Ouriel Ohayon (Cofondateur AppsFire et Isai), Marc Simoncini (CEO Meetic et Jaina) et Bruno Vanryb (CEO Avanquest) se réunira pour choisir la meilleure des 7 applications qui auront été choisies par les utilisateurs Facebook qui auront aimé Like votre application.

Qu’est ce que vous avez à gagner ?

En plus d’avoir la chance de présenter votre application (si vous faites partie des finalistes) devant Steve Ballmer ainsi que les autres entrepreneurs qui seront présents, Microsoft a fait en sorte que toutes les applications et les développeurs qui participent à cette compétition, aient un maximum de visibilité.

Comment participer ?

Créez votre application parmi les 12 catégories suivantes :

  • Divertissement
  • Productivité
  • Communication
  • Musique et Video
  • Voyages
  • Utilitaires
  • News & Meteo
  • Social Networks
  • Lifestyle
  • Maps  & Search
  • Applis Business
  • Livres

Puis rendez-vous sur la page Facebook Developpeurs.NET puis publiez une vidéo d’environ 2 minutes qui présente votre application, ensuite parlez-en autour de vous !

Les outils

Commencez par les outils gratuits inclus dans Windows Phone Developer Tools Beta :

  • Visual Studio 2010 Express for Windows Phone Beta
  • Windows Phone Emulator Beta
  • Silverlight for Windows Phone Beta
  • Microsoft Expression Blend for Windows Phone Beta
  • XNA Game Studio 4.0 Beta

Le Windows Phone 7 Training Kit for Developers - Beta Refresh pourra vous aider à débuter.

Plus d’informations

Et si vous souhaitez tester votre application sur un vrai terminal Windows Phone 7, contactez Pierre :). N'oubliez pas de voter pour l'application Ahead !

Tags:

Evenements Microsoft | Windows Phone 7

WPF – Créer le contrôle NumericUpDown

by Fabien Lavocat 1. juillet 2010 18:49

WPFSi vous développez avec la technologie WPF, vous aurez surement remarqué l’absence de certains contrôles qui peuvent sembler indispensables tel que le NumericUpDown qui permet depuis un TextBox d’incrémenter et décrémenter une valeur à l’aide de deux boutons. Si vous faites à la fois du Silverlight, vous aurez forcement remarqué sa présence dans le Silverlight Toolkit, mais malheureusement il ne l’est pas dans le WPF Toolkit. Pour corriger ce petit problème, j’ai donc créer rapidement un contrôle NumericUpDown que je vous distribue gracieusement Sourire. Celui-ci est vraiment simple mais répond tout à fait à la demande de base. Vous pouvez en plus le personnaliser à volonter.

Pour utiliser ce contrôle dans vos applications, téléchargez le fichier DemoNumericUpDown.zip (116 ko). Dans votre projet WPF, récupérez le fichier NumericUpDown.xaml et importez-le. Ensuite, régénérez la solution et vous pourrez utiliser ce contrôle où bon vous semble.

app

Peut être que je le publierai sur CodePlex par la suite, juste pour le distribuer un peu plus largement.

Tags:

WPF

Système de licensing sous Windows Phone 7

by Fabien Lavocat 13. juin 2010 20:33
Windows Phone 7

Depuis les premières annonces à propos du prochain système d’exploitation mobile de Microsoft, Windows Phone 7, on peut facilement comprendre que l’éditeur souhaite mettre tout en place pour la satisfaction du client finale. En effet, celui-ci mise en grande partie sur l’aspect esthétique et ergonomique de l’interface mais également sur la qualité des applications qui seront déployés sur le MarketPlace. Pour que la satisfaction cliente soit maximum, et donc que les demandes de remboursement d’applications qui pourrait planter, ou ne pas convenir à l’utilisateur, une série de dispositions ont été mises en place.

La première est d’uniformiser le hardware des téléphones qui seront distribués sous différentes marques (Samsung, HTC…). Tous les téléphone devront répondrent à un cahier des charges matériel très stricte, que ce soit au niveau du processeur, de la quantité de mémoire, ou les trois bouttons en facade du téléphone… Je ne rentrerai pas dans les détails techniques, pour cela, consultez l’article de Pierre Cauchois sur MSDN. Les bénéfices de cette régle imposée à tous les constructeur est toute simple, vous, développeurs, n’aurez à créer des applications que pour du matériel que vous connaitrez à l’avance. Par exemple, vous savez que l’écran de l’utilisateur finale aura obligatoirement une résolution de 800x400 ou de 480x320 (chacune en mode portrait et paysage).

Le second impératif est d’avoir une version trial de ses applications payantes afin que l’utilisateur final puisse tester l’application et vérifier qu’elle correspond bien à son désir, et donc qu’il payera une application qu’il aura vraiment souhaitée. Le gros avantage apporté par le SDK de Windows Phone 7 et du MarketPlace est qu’il est vraiment très simple de créer une version trial de vos applications et ce, de façon sécurisée. C’est ce que nous allons voir dans cet article.

Lorsque vous aurez créé votre application Windows phone 7 sous Visual Studio 2010, importez le namespace Microsoft.Phone.License.

Référence Microsoft.Phone.License

Ensuite, dans votre application créer une instance de la classe LicenseInfo qui ne contient qu’une fonction nommée IsTrial() qui vous retourne true l’application est lancée en mode trial et logiquement false si vous être en mode complet.

LicenseInfo license = new LicenseInfo();
if (license.IsTrial())
{
    // Mode Trial
    // Afficher un message par exemple
    // pour confirmer le mode trial
                
}

Attention, actuellement cette méthode retourne toujours true. Donc si vous souhaitez vous faciliter la tâche de développement, pensez-y. Vous pouvez utiliser les symboles de compilation conditionelle (exemple #IF DEBUG) en créant plusieurs configurations en passant par le gestionaire de configuration :

Configuration Manager...

Tags:

Windows Phone 7

A propos de l'auteur

Fabien Lavocat

Lavocat Fabien
Ingénieur Multimédia - TMM Communication



"Blog-Microsoft.fr is an independent blog and is not affiliated with, nor has it been authorized, sponsored, or otherwise approved by Microsoft Corporation."

Contactez-moi Send mail

MVP
Microsoft Most Valuable Professional
Client Application Development