En quoi consiste WPF ?



1 Introduction

Pour la plupart des utilisateurs, une application est juste et tout simplement une fenêtre qui s’ouvre et qui leur permet d’interagir avec l’ordinateur. Mais pour le développeur, la gestion de cette fenêtre n’est pas forcément des plus simples. En effet il faut choisir une librairie adaptée, …

A la sortie de Windows Vista, on voit l'apparition des effets 3D et en même temps la sortie du
.Net Framework 3.0.
Pourquoi ?
   On s’est aperçu que les WinForms n’étaient pas vraiment adaptés (pour de nombreuses raisons techniques telles qu’elles ne sont pas forcément des plus aisées à personnaliser).
Elles posent également un problème au niveau du travail collaboratif entre designers et développeurs, et bien d’autres ....

On verra que WPF apporte son lot de nouveautés qui facilitent le « design » de la GUI. Par exemple, on peut citer les graphismes vectoriels, la transparence par pixel, les animations, l’adaptation à la résolution, le support des templates de data binding et bien d’autres…
Les avantages de WPF 
  • Utilisation du GPU
  • Séparation code / design
  • Plus puissant que les WinForms
Les inconvénients
  • Manque d’interopérabilité
  • Manque de maturité
  • Tout est à refaire
.... et on aura un autre rendez-vous pour qu' on puisse sur le quel citer les notions de bases de WPF.

Calculer la taille totale d'un répertoire (C#)

  • Nous allons voir comment avec deux petites fonctions, calculer la taille totale d’un répertoire et afficher sa taille en Mo.

Commencez déjà par importer le namespace System.IO :

using System.IO;

  • Ensuite nous allons créer une fonction récursive afin de pouvoir entrer dans les sous-répertoires.

   1: private Int64 DirectoryLength(DirectoryInfo folder)
   2: {
   3:     Int64 bytes = 0;
   4:     foreach (FileInfo fi in folder.GetFiles())
   5:         bytes += fi.Length;
   6: 
   7:     foreach (DirectoryInfo i in folder.GetDirectories())
   8:         bytes += DirectoryLength(i);
   9: 
  10:     return bytes;
  11: }
  • Cette fonction prend en paramètre un objet de type "DirectoryInfo” qui représente le dossier à analyser. Elle parcourt la liste des fichiers présents dans ce dossier et récupére leur taille. Ensuite on cherche s’il y a des sous-répertoires présents, si c’est le cas, on appelle la même fonction avec le répertoire courant.
L’appel de la fonction :
   1: private void Form1_Load(object sender, EventArgs e)
   2: {
   3:     // Le @ permet d'échapper tous les caractères spéciaux
   4:     String folder = @"C:\DossierATester\";
   5: 

   6:     // Si le dossier n'existe pas on arrête de traitement

   7:     if (!Directory.Exists(folder))

   8:         return;

   9: 

  10:     // Le dossier existe, on peut calculer sa taille

  11:     Int64 size = DirectoryLength(new DirectoryInfo(folder));

  12: 

  13:     // Ensuite on l'affiche

  14:     Console.WriteLine("Taille du dossier '{0}' : {1} Mo", folder, size.ToMo());


  15: }


Mais qu’est ce que "size.ToMo()” ?

Une méthode d’extention :

   1: public static class Functions
   2: {
   3:     public static String ToMo(this Int64 input)
   4:     {
   5:         // N02 permet d'afficher au format : 1 234.56
   6:         return (input / (1024 * 1024)).ToString("N02");
   7:     }
   8: }

Decouvrez ces raccourcis clavier Visual Studio 2008 pour Visual Basic .NET et C#


Microsoft a publié il y a de cela quelque temps, deux posters a imprimer et afficher sur votre bureau et représentant la liste des raccourcis clavier utilisés sur Visual Studio 2008 pour les environnements de développement Visual Basic .NET et C#.

Vous pouvez donc télécharger les fichiers PDF en anglais sur Microsoft Download : environnement C# et environnement VB.NET.

DreamSpark de MICROSOFT : logiciels gratuits pour les étudiants








Qu’est ce que le programme DreamSpark ?


DreamSpark est un programme lancé par Microsoft pour les étudiants du monde entier (ou presque). Il permet donc à plus de 35 millions d’étudiants de télécharger gratuitement les produits Microsoft, tels que :

* Visual Studio 2008

* XNA Game Studio 3.0

* Expression Studio

* SQL Server 2008

* Windows Server 2008.

* ....

L'accès gratuit à ses outils de conception et de développement. Objectif avoué du géant américain : " libérer leur potentiel créatif et les mener sur le chemin du succès académique et professionnel. "

Cette offre est pour le moment limitée à la Belgique, la Chine, la Finlande, la France, l’Allemagne, l’Espagne, la Suède, la Suisse, le Royaume-Uni et aux Etats-Unis.

Sur le site de DreamSpark, l’étudiant intéressé pourra se connecter grâce à son compte Live ID, puis fournir ensuite quelques indications comme son pays de résidence et le nom de son école.

WPF Custom Screen Saver Art

Creating custom wallpaper is easy. But what about custom screen savers? This post will detail how to build a custom saver using Windows Presentation Framework (WPF). The posted code also provides some insight on how to create interesting particle effects using WPF’s animation engine, and how to implement multiple monitor support in .Net.

Download

How To Debug Your Application?



Why use a debugger when I can just do simple outputs to verify? You have to remove message box calls to make your code production worthy. could cause you to delete some code you didn’t mean to which introduces bugs! Debugging lets you stop the program in real time and get data back about your environment with a click of a mouse.

Bruno Terkaly’s blog has 10 lessons on how to debug an application within Visual Studio:

.NET Framework 4.0










Ce superbe poster vous présente une sélection des nouveautés (Types et Namespaces) entre le .NET Framework 3.5 SP1 et le .NET Framework 4.0.

Celui-ci est disponible sous différentes versions :

Create your game









internal void Update(GameTime gameTime)
{
float timeDelta = (float)gameTime.ElapsedGameTime.TotalSeconds;
// Add velocity to the current position.
ship.Position += ship.Velocity;

// Bleed off velocity over time.
ship.Velocity *= 0.95f;

for (int i = 0; i < style="color: rgb(0, 0, 153);"> for (int i = 0; i < style="color: rgb(0, 0, 153);"> if (bulletList[i].isActive)
{
bulletList[i].Update(timeDelta);
}
}
}

XNA Creators Club Online - home


Just Do It

Imagine Cup 2009


Registration is open for IC 2009 at the official site.

Check out the categories for next year, and start preparing for Egypt!

The theme is kind of open (Solve the World's Toughest Problems), you can focus your efforts in whatever you see fit, not restricted to one social problem like

previous years. This may seem like an advantage, but I anticipate a lot of great ideas from all over the world to compete against...

Good luck!

Be the first to rate this post