Dot.Blog

Consulting DotNet C#, XAML, WinUI, WPF, MAUI, IA

Les events : le talon d'Achille de .NET...

[new:31/01/2011]Les events (gestion d’évènements) sont d’une grande puissance et existent dans presque tous les langages récents (et même quelques un plus anciens). Ils autorisent un modèle de programmation évènementiel qui se calque bien sur la façon dont sont gérées les IHM des OS modernes (pilotés par l’utilisateur et ses clics souris). Hélas ce concept réutilisé par le Framework .NET ne lui va pas très bien. Pire, dans un environnement managé (avec Garbage Collector) les évènements sont une source inépuisable de pertes mémoire !Plus...

Silverlight : Contrainte de propriétés (Coercion)

[new:20/11/2010]La contrainte des valeurs est un mécanisme essentiel permettant à la valeur d'une propriété de rester confiner dans des bornes fixées par l'objet ou par l'utilisateur. C'est en réalité un des éléments de base permettant de respecter le paradigme de la programmation objet : l'encapsulation qui veut qu'un objet se protège de toute action externe pouvant le déstabiliser. Hélas, Silverlight n'offre pas les mécanismes que WPF propose pour les propriétés de dépendances. Nous allons voir comment régler cet épineux problème.Plus...

MVVM, je m’y perds ! [une réponse rapide]

[new:16/09/2010]MVVM est une pattern, une simple pattern, pas une technologie nouvelle. Elle est utilisable dans de nombreux contextes, sous ce nom ou un autre et sous des formes plus ou moins identiques. Rien de nouveau donc. Et pourtant tout change. “Je m’y perds” est une réflexion que j’entends souvent. Encore aujourd’hui, un lecteur de Dot.Blog me faisait part de ce sentiment d’être un peu “embrouillé”. Alors plutôt qu’une réponse en privé qui ne profiterait qu’à un seul, voici la réponse à ce lecteur, et bien sûr, à tous les autres qui partagent la même impression…Plus...

PropertyChanged sur les indexeurs

[new:16/09/2010]Voici un court sujet pour cette rentrée (et surtout pour me remettre du pavé de 92 pages sur MVVM et le toolkit MVVM Light !). En effet, ce bon Anders Hejlsberg, en repompant certaines bonnes idées de Delphi qu’il avait créé quelques années avant C#, a oublié certaines choses pourtant utiles comme les indexeurs nommés. En C# un seul indexeur par classe et pas de nom ! Choix curieux, étrange, peu judicieux, et au bout de tant de temps jamais modifié. Bref un seul indexeur, et sans nom. Mais lors d’un Binding WPF ou Silverlight (donc Xaml) comment diable prévenir les objets bindés que les valeurs de l’indexeur ont changé (quand ce cas se présente) ?Plus...