Executing a command from an event of your choice

To follow up on a previous post, I’m going to describe how to execute a command from any event raised by a graphical control. For this, I’ll leverage the MVVM pattern as well as the Expression Blend SDK (freely available here). The SDK provides behaviors (triggers and actions) that allow even further loosening between view…

0

Débogage WPF/Silverlight : Déterminer l’élément ayant le focus clavier

Lors du développement d’applications complexes/composites en WPF ou Silverlight, il peut arriver de recontrer le problème du “mais où est-ce que je tape?!”. Ce post vous présente une manière de déboguer ce cas de figure. Silverlight Au sein d’une application Silverlight, déterminer quel control dispose du focus clavier revient à utiliser la propriété FocusManager.FocusedElement. Cette…

0

Silverlight 4 et les commandes

Une des nouvelles fonctionnalités de Silverlight 4 concerne les commandes. Celles-ci permettent, en les combinant avec le pattern MVVM, d’obtenir une séparation stricte en le XAML et le code C#: une action peut être associée à un contrôle par une notation {Binding}, exactement de la même manière que sont associées les données. Les boutons de…

0

The FormatConverter, and XamlParseExceptions in Microsoft Expression Blend

A converter we very often use and reimplement is the so-called FormatConverter, which takes a string as a value and uses with the converter’s parameter in a call to String.Format. This eases sometimes shortens the XAML by quite a bit when concatenating strings, or can also be used to apply specific formatting to floating point…

0

ParseException AG_E_PARSER_BAD_TYPE : les points à vérifier

Lors de l’exécution d’une application Silverlight, il arrive parfois de rencontrer une ParseException(“AG_E_PARSER_BAD_TYPE”). Malgré sa description quelque peu crue, le message décrit bel et bien l’erreur rencontrée : un problème de type est survenu lors de la phase de parsing d’un fichier XAML. J’ai compilé ci-dessous une liste des vérifications que j’utilise pour déterminer la cause…

0

"The configuration section for Logging cannot be found in the configuration source." ou comment lire un fichier de configuration externe pour le Logging Application Block

Dans le cadre du Logging Application Block, l’utilisation d’IConfigurationSource pour lire une configuration externe peut provoquer une ConfigurationErrorsException(“The configuration section for Logging cannot be found in the configuration source.”), ou ne pas prendre en compte la configuration décrite dans le fichier externe. Cette exception est généralement dûe au fait que la façade Logger s’initialise forcément…

0

Lecture de paramètres web.config depuis une application Silverlight

Il est plus que courant qu’une application web ASP.NET ait à lire des paramètres de configuration depuis le fichier de configuration du site, web.config. Cette opération est très simple depuis une page ASPX par le biais de ConfigurationSettings.AppSettings. Ce scénario ne fonctionne cependant pas depuis une application Silverlight qui se voit systématiquement refusée l’accès à…

0

Interaction entre Powershell et une application hôte .NET

Sujet inhabituel sur ce blog: l’interaction entre Powershell et une application hôte .NET. Les exemples disponibles sur MSDN montrent comment héberger des runspaces Powershell via les classes du namespace System.Management.Automation; mais outre le simple hébergement de scripts, il est également possible de partager des objets entre les scripts Powershell hébergé et le code .NET, ouvrant…

1

Utilisation de flags binaires [Flags]

Ce post décrit comment utiliser et définir des flags binaires. Ceux-ci permettent de combiner facilement et lisiblement des propriétés. Un des exemples d’utilisation les plus populaires étant avec les attributs de fichiers : File.SetAttributes(@”C:\Temp\MonFichier”,                 FileAttributes.ReadOnly | FileAttributes.Archive | FileAttributes.Temporary); L’utilisation de flags binaires est recommandée lorsque les propriétés représentées sont liées, non mutuellement exclusives et combinables. Les flags…

1

Tris et filtres sur des ObservableCollection<T>

Utiliser des ObservableCollection<T> est une pratique fondamentale lors du développement d’UI. Outre le fait qu’elles permettent des mises à jour dynamique de l’UI, elles peuvent également être triées et filtrées par le biais des CollectionViews. Ce post décrit un pattern réutilisable permettant de simplifier le code liant une ObservableCollection à une ou plusieurs ListCollectionViews, avec…

0