Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

WPF : Le Binding

Le binding est possible avec WPF grâce à l'objet Binding, contenu dans le namespace "System.Windows.Data.Binding".
On peut l'utiliser pour mettre en adéquation deux propriétés.

Prenons deux TextBox  :

1
 

Nous souhaitons associer la propriété Text du contrôle txtName à celle de txtBlog,
on pourra utiliser cette méthode dans le fichier cs :

1
2
3
4
5
6
7
Binding binding = new Binding();
// Déclarer la source du binding
binding.Source = txtName;
// Déclarer la propriété utilisée
binding.Path = new PropertyPath("Text");
// Attacher au contrôle
txtBlog.SetBinding(TextBox.TextProperty, binding);

ou plus largement dans le xaml..

1
2
3
4
 
""
/>
   Text="{Binding Text, ElementName=txtName}"/>

Les deux méthodes permettent à chaque modification du contenu du contrôle txtName, 
la modification de la propriété Text du txtBlog.

Pour effacer un binding existant, rien de plus simple;

1
BindingOperations.ClearBinding(txtBlog, TextBlock.TextProperty);

On peut ensuite, comme l'a evoqué Thomas LEBRUN dans son article, utiliser le binding avec un DataTemplate pour une ListBox par exemple;

1
2
3
4
5
6
7
8
"itemList" 
   ItemsSource="{Binding Source={StaticResource listItems}}">
   
      
      "{Binding Path=text}"
/>
   
   

A présent, nous souhaitons contrôler l'évenement déclencheur du binding. Pour cela, il est souhaitable d'attribuer à la propriété "UpdateSourceTrigger" de l'objet Binding, la valeur UpdateSourceTrigger.Explicit. Dés lors, lorsque nous souhaitons rafraichir la propriété Text, nous pourrons ordonner sa mise à jour grâce à l'appel :

1
txtBlog.GetBindingExpression(TextBox.TextProperty).UpdateSource();

Avec WPF tout est possible... ou presque Stick out tongue

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 :
Publié lundi 29 octobre 2007 19:16 par davidrei
Classé sous :

Commentaires

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

Les 10 derniers blogs postés

- [SharePoint] Les sessions TechDays 2012… par Le blog de Patrick [MVP SharePoint] le il y a 2 heures et 7 minutes

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le 02-09-2012, 11:01

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le 02-09-2012, 08:28

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59