Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[Silverlight 4] Comment mettre, par code, du binding sur un DependencyObject ?

Depuis Silverlight 4, l’une des nouveautés au niveau du binding concerne la possibilité de l’appliquer directement au niveau des DependencyObjects et non plus seulement aux FrameworkElements.

Concrètement, cela signifie qu’il est maintenant possible d’écrire ce genre ce code:

   1: <Rectangle Fill="Red"
   2:                    x:Name="rect"
   3:                    Height="50"
   4:                    Width="100"
   5:                    RenderTransformOrigin="0.5,0.5"
   6:                    Grid.Row="0">
   7:             <Rectangle.RenderTransform>
   8:                 <RotateTransform Angle="{Binding ElementName=slider, Path=Value}" />
   9:             </Rectangle.RenderTransform>
  10:         </Rectangle>
  11:         
  12:         <Slider x:Name="slider"
  13:                 Width="100"
  14:                 Grid.Row="1"
  15:                 Minimum="0"
  16:                 Maximum="180"
  17:                 Value="0" />

Cependant, on peut vouloir réaliser le même genre d’opérations mais directement par code. Traditionnellement, pour faire cela, il faut appeler la méthode SetBinding de l’objet que l’on souhaite binder. Le problème, c’est que les DependencyObjects ne proposent pas cette méthode:

image

Si l’on souhaite faire son binding par code, il est nécessaire de passer par la méthode SetBinding de la classe BindingOperations:

image

Une petit tour dans Reflector nous apprend qu’au final, c’est la même chose car la méthode SetBinding, de FrameworkElement, ne fait qu’appeler la méthode SetBinding de BindingOperations:

image

Tout simple mais bon à savoir Wink

 

A+

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: mardi 26 janvier 2010 10:24 par Thomas LEBRUN
Classé sous : ,

Commentaires

RaptorXP a dit :

Un petit progres pour Silverlight 4, mais ce que j'aimerais encore plus avoir c'est un moyen d'observer les changements de n'importe quelle dependency property comme en WPF.

# janvier 27, 2010 14:58

Kikuts a dit :

Je savais que cela était possible mais je n'avais jamais vu comment. Merci pour le tuyau !

# mars 16, 2010 16:50
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 6 heures et 43 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