Binder des propriétés calculées avec wpf

Soyez le premier à donner votre avis sur cette source.

Vue 9 939 fois - Téléchargée 416 fois

Description

Cette source permet d'ajouter des propriétés virtuelles à la vue d'une collection liée à un contrôle. On peut ainsi afficher et modifier le résultat de n'importe quelle expression basée sur les propriétés d'un des objets de la collection. Le databinding n'a plus de limite :-) Il s'agit d'un projet framework 3.5.

Source / Exemple :


Tout est dans le zip.
Voici comment se fait l'ajout d'une propriété virtuelle :

var view = new CollectionView<Company>(MyCollection);
view.FakePropertiesDefinitions.Add(
	"NomDeLaPropriétéVirtuelle",
	//méthode "get"
	c =>
	{
		view.StoredObject = [n'importe quelle expression : linq ou autre];
		return [une expression basée sur view.StoredObject];
	},
	//méthode "set"
	value =>
	{
                //on peut ici faire toute sorte d'opération de mise à jour sur view.StoredObject
	});

this.DataContext = view;

Conclusion :


Je n'ai pas encore testé en profondeur mon code. Mais ça marche avec l'exemple que j'ai fournit. N'hésitez pas à me faire des suggestions pour améliorer ce code ;-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Julien237
Messages postés
884
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6 -
Waouw super, juste ce que je cherchais, ça tombe vraiment à pic, merci !
Julien237
Messages postés
884
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6 -
J'avais oublié la note...
cs_yoannd
Messages postés
313
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
-
Pour moi, c'est du tout bon !

C'est exactement le genre de choses que je m'amuse à faire en ce moment !

Merci pour cette source !
cs_mathmax
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Merci beaucoup pour vos commentaires.

N'hésitez pas à me faire part de suggestions pour améliorer le code surtout si c'est un sujet sur lequel vous avez déjà travaillé. :-)
Je trouve que le databinding est un sujet passionnant. J'adorerais améliorer cette source avec quelqu'un d'autre...
cs_yoannd
Messages postés
313
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
-
Tiens, j'ai peut-être une petite question pour toi :
Je suis en train de développer une petite appli de gestion de comptes personnels. Pour te planter un peu le décor, il y a un objet principal, contenant des banques, chaque banque contient des comptes, qui contiennent des relevés bancaires, qui contiennent des opérations bancaires (je simplifie un peu, mais le principe est là).
Je souhaiterais binder mon objet principal dans un treeview avec des hierarchicaldatatemplates, mais attention, je souhaiterais par exemple que les relevés bancaires soient regroupés par année (exemple).
Grosso modo, le treeview donnerais un truc comme ça :
- Mes comptes
- Banques
- Crédit agricole
- Compte chèque
- Relevés bancaires
+ 2006
- 2007
- Relevé du XX/XX/2007
- Operation bancaire

Bref, est-ce que tu penses que c'est faisable ?
Autre question : j'ai constaté qu'on ne pouvais pas référencer un type dans le xaml, si ce trouve en dehors de l'assembly en cours... Les xmlns n'y font rien. T'es-il arrivé d'avoir ce problème ? (peut-être que c'est du à ma version du fmk, qui est une beta, et que je suis en train de remplacer par une release en ce moment même...).

En tout cas, merci d'avance si tu peux m'aiclairer sur ces points :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.