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

- Simuler facilement l’envoi de mail par Blog de Jérémy Jeanson le 05-22-2013, 12:52

- ProcDump 6.0 : support du filtrage sur messages d'exceptions .NET, des filtres multiples et du ciblage par nom de service par CoqBlog le 05-20-2013, 14:50

- Votez pour le TOP 10 des influenceurs SharePoint francophones ! par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 12:59

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:09

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:03

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 08:27

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29