Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

David REI

La curiosité n'est pas un vilain défaut.. :)

Informations

Le Binding avec WPF

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
<TextBox x:Name=”txtName” Text=""/> 
<TextBox x:Name=”txtBlog” Text=""/>

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
 
<TextBox x:Name=”txtName” Text=""/>
<TextBox x:Name=”txtBlog”
   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
<ListBox x:Name="itemList" 
   ItemsSource="{Binding Source={StaticResource listItems}}">
   <ListBox.ItemTemplate>
      <DataTemplate>
      <TextBox Text="{Binding Path=text}"/>
   </DataTemplate>
   </ListBox.ItemTemplate>
</ListBox>

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 :
Posted: 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

- [Expression Web] Astuce de la Semaine : Utilisation et Configuration des Extraits de Code par Chronos, Blog d'un Intégrateur .NET le il y a 15 heures et 2 minutes

- Faire de l'AJAX sans restrictions de domaine par Kévin Gosse le il y a 17 heures et 31 minutes

- [IronPython] : IronPython & Silverlight 2 - Part II par Kim's Blog le 07-22-2008, 14:50

- [WPF] Des requêtes NDepend pour analyser vos projets WPF par Thomas Lebrun le 07-21-2008, 09:27

- Liste de jeux pour Silverlight par Pierrick's Blog le 07-20-2008, 14:37

- T_PAAMAYIM_NEKUDOTAYIM par MadMatt le 07-19-2008, 16:16

- Et je mets le son.... par Pierrick's Blog le 07-19-2008, 12:09

- SharePoint : Comment interdire l’accès à un utilisateur pour tous les sites d’une Web Application par Blog Technique de Romelard Fabrice le 07-18-2008, 19:05

- VPC - Reset de la position de la console par Blog technique de Nicolas Boonaert le 07-18-2008, 16:29

- Un bug dans IE rendra cette page… non-imprimable ! par Le blog de FremyCompany le 07-18-2008, 15:33