Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Faire du binding avec WPF, depuis le code

XAML offre déjà beaucoup de possibilités, mais l'utilisation de C# (d'un langage CLR, plus généralement) avec WPF offre des possibilités quasi illimitées.

Le Data Binding est beaucoup utilisé dans le code XAML pour lier une propriété d'un contrôle à une propriété d'un autre contrôle. Cependant, le Data Binding est utilisable avec beaucoup d'autre objets que des contrôles.

En fait, les seules restrictions sur la cible du binding sont :

  • L'objet cible doit être un DependencyObject
  • La propriété cible de cet objet doit être une DependencyProperty

La source, elle, peut être très variée :

  • Une DependencyProperty
  • Une propriété CLR
  • Un XmlNode, puis en spécifiant un chemin XPath

Pour faire un binding dans le code, c'est très simple :

  1. Créer un nouvel objet Binding
  2. Indiquer dans cet objet l'objet source, et la propriété source
  3. Lier ce binding à une DependencyProperty d'un DependencyObject

Par exemple :

Entity source = new Entity();

Binding
binding;
b.Source = source;
b.Path =
new PropertyPath("Length"
);

button.SetBinding(
Button.WidthProperty, b);

Par contre cette méthode SetBinding n'est disponible que sur les objets FrameworkElement et FrameworkContentElement. Mais ce n'est pas grave, pour un DependencyObjet quelconque, il suffit d'utiliser BindingOperations.SetBinding :

TranslateTransform target = new TranslateTransform();

Binding
binding;
b.Source = source;
b.Path =
new PropertyPath("Left"
);

BindingOperations.SetBinding(target, TranslateTransform.XProperty, b);

Publié jeudi 15 février 2007 19:25 par RaptorXP
Classé sous : , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- EF et WPF par Matthieu MEZIL le il y a 15 heures et 18 minutes

- C# : Vérifications / Performances par Pierrick's Blog le il y a 18 heures et 54 minutes

- Du nouveau sur le clubvsts par Noham Choulant le il y a 20 heures et 33 minutes

- StyleCop SDK disponible par Michel Perfetti [Miiitch] le il y a 22 heures et 54 minutes

- Data Structures and Algorithms : un livre gratuit par Elise's blog le 08-29-2008, 11:39

- [ASP.NET] - Ajax vNext Preview 2 par Aurelien's Blog - When ClientSide meets .Net le 08-29-2008, 10:35

- TPH IS Not Null sur la relation par Matthieu MEZIL le 08-29-2008, 08:15

- Mise à jours du code Source du .NET Framework 3.5 SP1 disponible sur le Reference Source Code Center par RedoBlog - The .NET Gentleman !!! le 08-29-2008, 01:50

- ASP.net 3.5 SP1 : combiner les fichiers JavaScript grace au CompositeScript du ScriptManager (ex ScriptCombining du toolkitScriptManager) par Atteint de JavaScriptite Aiguë [Cyril Durand] le 08-28-2008, 22:39

- [Expression Web] Problème : Quand j'affiche l'Aide (F1), cela me met un message d'erreur. par Expression Web & Me le 08-28-2008, 19:44