Petite astuce en WPF ... et en binding !


Voici deux exemples qui font exactement la même chose à savoir l'affichage de deux textes identiques "Hello tout seul".

  1. <Canvas>
      <TextBlock Name="tx" Text="Hello tout seul"/>
      <TextBlock Text="{Binding ElementName=tx, Path=Text}"/>
    </Canvas>
    
  2. <Canvas>
      <TextBlock Name="tx" Text="Hello tout seul"/>
      <TextBlock Text="{Binding ElementName=tx, Path=(TextBlock.Text)}"/>
    </Canvas>
    


Question : Lequel de ces exemples est le plus performant ?

Réponse : La seconde solution est la plus performante. En effet, on passe via la reflexion du CLR .NET pour l'exemple 1. Pour l'exemple 2, on n'utilise directement les propriétés "DependencyProperty". Il y a dès lors un gain de performances.