This article is currently in the process of being translated into Spanish (~98% done).
Data binding via Code-behind
Como hemos visto en los ejemplos anteriores de enlace de datos, definir un enlace mediante el uso de XAML es muy fácil, pero en ciertos casos, es posible que desee hacerlo por código (CodeBehind). Esto también es bastante fácil y ofrece exactamente las mismas posibilidades que cuando usas XAML. Probemos el ejemplo "Hola, mundo enlazado", pero esta vez creamos el enlace requerido por código (CodeBehind):
<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);
}
}
}
Esto funciona creando una instancia del enlace (Binding). Especificamos la ruta que queremos directamente en el constructor, en este caso "Text", ya que queremos enlazar a la propiedad "Text". Luego, especificamos una Fuente , que para este ejemplo debería ser el control TextBox. Ahora WPF sabe que debe usar el TextBox como control de origen, y que estamos buscando específicamente el valor contenido en su propiedad Text.
En la última línea, usamos el método SetBinding para combinar nuestro objeto Binding creado recientemente, con el control destino, en ese caso el TextBlock (lblValue). El método setBinding() recibe dos parámetros, uno que le indica la propiedad de dependencia al que queremos conectar, y el segundo contiene el objeto de binding que queremos usar.
Resumen
Como puedes ver, crear enlaces de datos en código C# es fácil y quizás un poco más fácil para aquellas personas nuevas usando enlaces de datos, en comparación con la sintaxis utilizada en el mismo XAML. El método que elijas es elección tuya - ambos funcionan correctamente.