octobre 2007 (13)

mercredi, octobre 31 2007

Mécanisme de mise à jour de l'objet business/contrôle en WPF

Par défaut, lorsque l'on utilise le binding .net en wpf, la source (le contrôle visuel) est mise à jour lorsque la cible (l'objet business) change. Tout ceci se passe via l'implémentation de l'interface INotifyPropertyChanged. Ce post explique en quelques mots les différents types de mise à jour du contrôle disponible en WPF.

Lire la suite

mercredi, octobre 24 2007

Hierarchie dans les exceptions en .net

Voici une petite question tout simple: [csharp] try { throw new FileNotFoundException(); } catch (IOException ex2) { Console.Out.WriteLine("Base Exception"); } catch (FileNotFoundException ex1) { Console.Out.WriteLine("FileNotFound"); } Question : Quel est le résultat lors de  […]

Lire la suite

mardi, octobre 23 2007

Callback WCF: Comment simuler la notion d'event via un webservice

Il est possible d'appeler du code "client" depuis un webservice .net 3.0 à la condition que le flux soit bidirectionnel. Cela ouvre en effet de multiples possibilités comme simuler une notion d'evenement ou ajouter des comportements differents en utilisant le même webservice. Voici un petit exemple de ce qu'il est possible de faire simplement.

Lire la suite

lundi, octobre 22 2007

Unesco: 2008 .. Ode à la patate !

Oui ... 2008 sera l'année internationnale de la patate. C'est l'aliment de base pour beaucoup de monde. Celui qui contribue à la sécurité alimentaire. Mais ce n'est pas tout. la pomme de terre est une reine !!! ;-) VIVE LA POMME DE TERRE =)  […]

Lire la suite

jeudi, octobre 18 2007

DLinq 1..N, la base des relations + select

Comme expliqué dans un des mes précédents post, il y a une nouvelle technologie qui sortira en .NET 3.5. Ainsi, je me suis décidé à réaliser un mini exemple en SQL Server pour un peu expliquer comment fonctionne la base des select en LINQ.

Lire la suite

mercredi, octobre 17 2007

XBAP + WebService .NET 2.0

Xbap est magique. Il permet de lancer une application sur le poste client sans installer l'application. Je dirais que c'est un clone de l'applet Java mais en WPF. J'étais donc plein de rêves, envies,... Certes, l'application s'exécute dans une sandbox (on accède donc pas au contenu fichier du pc sur lequel on lance l'application)... Mais cela ne me dérangeait pas pour les applications qui pouvaient reposer sur ce modèle. En effet, je me disais qu'il était possible de faire passer beaucoup de choses via WCF. Et la ce fut le clash ..... En effet, XBAP ne supporte pas le wcf ... Mais ma déception ne s'arrête pas la ... En effet, il impossible de lancer une application XBAP dans firefox ... RE déception !!!!. Mais ... la bonne nouvelle ! Microsoft prévoit d'implémenter une partie de WCF (BasicHttpBinding) et le support de Firefox dans .Net 3.5. (un peu tard et pas suffisant a mon goût ;-). Mais ce post n'est pas là pour vous dire XBAP .... C'est nul etc ... Nous loin de la ... Si on fait abstraction de tous ces problèmes, XBAP est réellement sympa. Ce post explique comment supporter les webservices .NET 2.0 dans xbap !

Lire la suite

vendredi, octobre 12 2007

Intégrer du WPF dans du WinForms ou Win32 !

L'utilisation de WPF ne se réduit pas à de nouveaux projets. En effet, il est tout à fait possible d'adapter un rendu en fonction de la version du framework .NET disponible sur la machine client. On pourrait avoir à disposition une librairie de génération de graphiques en GDI qui s'affiche si l'utilisateur final n'a pas .NET 3. Cela offrirait de nouvelles possibilités à un logiciel existant tout en garantissant un minimum de compatibilité. C'est ainsi que j'expose en quelques lignes comment intégrer un composant WPF dans une application WinForms et comment mapper des propriétés (que j'expliquerai plus tard dans ce post ;-).

Lire la suite

lundi, octobre 8 2007

TextBlock Vs Label

Le textblock est arrivé en wpf ... Je me suis longtemps demandé ce qu'il offrait de différent avec le label qui existe également en WPF et que l'on utilisait en winforms... Voici quelques éléments de réponses (liste non exhaustive ;)).

Lire la suite

dimanche, octobre 7 2007

Sauvegarde d'un objet Visual dans un fichier bmp, gif ou png

Il est possible sans difficulté de sauver le rendu d'une fenêtre WPF ... voir même d'un bloc de contrôles ou d'un seul contrôle. Pour cela, il faut passer par une petite étape de sauvegarde très simple que nous expliquerons ici.

Lire la suite

jeudi, octobre 4 2007

Ou sauver les styles ?

La notion de style est bien connue du monde ASP.NET mais peut être un peu moins du monde client lourd ... Mais ce discours est dépassé avec l'arrivée de WPF ... En effet, il est possible d'ajouter du style sur nos applications comme on pourrait le faire via des css sur nos pages web. Mais cela ne se limite pas à ajouter ce que le CSS ajoute. En effet, il est également possible en styles wpf d'ajouter ce que le couple javascript/css nous offrait .... Nous pouvons changer la couleur lorsque la souris se trouve sur le bouton etc,... Mais la question que tout le monde se pose .... Ou stocker ses styles ?

Lire la suite

mercredi, octobre 3 2007

Triggers en WPF

La notion de trigger est "nouvelle" en développement d'interface riche. Nombre de développeurs (moi y compris) ont utilisé bon nombre de trigger en SQL .... En effet, quel bonheur de pouvoir exécuter une action "on insert" dans une table. WPF amène 'de loin' ce concept dans nos interfaces. En effet, il est tout à fait possible de pouvoir colorier un bouton lorsque la souris sera sur le contrôle. Vous me direz "il est possible de le faire via les evenements en winform !".... Je vous dirai "oui tout à fait." Mais ici ... 0 lignes de codes ! La question que tout le monde se pose ... "Quelles sont les classes disponibles en WPF pour les triggers et comment cela fonctionne ???". Il existe plusieurs classes héritant de TriggerBase.

Lire la suite

mardi, octobre 2 2007

Astuces custom sérialisation .net

Après avoir introduit la sérialisation en .Net et avoir expliqué certains problèmes rencontrés dans un de mes précédents post, j'ai reçu un ou deux mails me demandant comment laisser .net gérer une partie et prendre le contrôle d'une autre partie. Je m'explique. Parfois, il faut simplement se charger de serialiser un objet en le convertissant dans un objet serializable lors de la serialisation et inversement. Il ne faut pas toujours refaire la sérialisation de a à Z. Ce post explique les quelques attributs disponibles pour convertir des objets lors de la serialisation.

Lire la suite

lundi, octobre 1 2007

Les différents Binding WPF + CompositeCollection

Mais qu'est ce dont le data binding ??? Il s'agit d'un mécanisme présent dans toutes les technologies .net permettant une liaison simple entre les données (mes objets business) et les contrôles de présentation. Prenons un exemple simple, je modifie le contenu d'une textbox qui affichait mon nom. Automatiquement, mon objet business Utilisateur va prendre en compte la modification de mon nom. Il existe différentes classes disponible sous WPF pour le databinding. Trois classes héritent de BindingBase.
  • Binding
  • MultiBinding
  • PriorityBinding
Ce post introduira un minimum les différents comportements, fonctionnalités de ces binding. Mais ... ce n'est pas tout. Ce post parlera également des CompositeCollection.

Lire la suite