TOC

This article is currently in the process of being translated into French (~98% done).

Data binding:

Data binding via Code-behind

Comme nous l'avons vu dans les précédents exemples de liaisons de données, définir une liaison en utilisant XAML est très simple, mais dans certains cas, vous voudriez pouvoir le faire depuis le code associé (Code-behind). C'est également très simple et offre les mêmes possibilités qu'avec l'utilisation de XAML. Essayons l'exemple "Hello, bound world", mais cette fois en créant la liaison demandée depuis le code associé:

<Window x:Class="WpfTutorialSamples.DataBinding.CodeBehindBindingsSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CodeBehindBindingsSample" Height="110" Width="280">
    <StackPanel Margin="10">
<TextBox Name="txtValue" />
<WrapPanel Margin="0,10">
    <TextBlock Text="Value: " FontWeight="Bold" />
    <TextBlock Name="lblValue" />
</WrapPanel>
    </StackPanel>
</Window>
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;

namespace WpfTutorialSamples.DataBinding
{
    public partial class CodeBehindBindingsSample : Window
    {
public CodeBehindBindingsSample()
{
    InitializeComponent();

    Binding binding = new Binding("Text");
    binding.Source = txtValue;
    lblValue.SetBinding(TextBlock.TextProperty, binding);
}
    }
}

Cela fonctionne en créant une instance de liaison. Nous spécifions le chemin voulu directement dans le constructeur, en l'occurrence "Text", puisque nous voulons le lier à la propriété Text. Nous spécifions ensuite une Source, qui pour cet exemple devrait être le contrôle TextBox. Maintenant WPF sait qu'il doit utiliser la TextBox comme source de contrôle, et que nous recherchons spécifiquement la valeur contenue dans sa propriété Text.

Dans la dernière ligne, nous utilisons la méthode SetBinding pour combiner notre nouvel objet de liaison avec le contrôle de destination/cible: TextBlock (lblValue). La méthode SetBinding() prend deux paramètres, le premier indiquant la propriété de dépendance à laquelle vous souhaiter faire la liaison, et le second contenant l'objet de liaison que nous désirons utiliser.

Résumé

Comme vous pouvez le constater, créer des liaisons dans le code C# est simple, et peut-être un peu plus facile à appréhender pour les personnes débutant en liaisons de données, par rapport à la syntaxe utilisée pour les créer en ligne dans XAML. Le choix de la méthode à utiliser vous revient - les deux fonctionnent parfaitement.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!