Procedimiento Enlazar las propiedades de dos controlesHow to: Bind the Properties of Two Controls

En este ejemplo se muestra cómo enlazar la propiedad de un control con instancias a la de otra mediante el ElementName propiedad.This example shows how to bind the property of one instantiated control to that of another using the ElementName property.

EjemploExample

El ejemplo siguiente muestra cómo enlazar la Background propiedad de un Canvas a la SelectedItem.ContentThe following example shows how to bind the Background property of a Canvas to the SelectedItem.Content propiedad de un ComboBox:property of a ComboBox:

<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="460" Height="200"
  Title="Binding the Properties of Two Controls">

  <Window.Resources>
    <Style TargetType="TextBlock">
      <Setter Property="FontSize" Value="16"/>
      <Setter Property="FontWeight" Value="Bold"/>
      <Setter Property="DockPanel.Dock" Value="Top"/>
      <Setter Property="HorizontalAlignment" Value="Center"/>
    </Style>
    <Style TargetType="Canvas">
      <Setter Property="Height" Value="50"/>
      <Setter Property="Width" Value="50"/>
      <Setter Property="Margin" Value="8"/>
      <Setter Property="DockPanel.Dock" Value="Top"/>
    </Style>
    <Style TargetType="ComboBox">
      <Setter Property="Width" Value="150"/>
      <Setter Property="Margin" Value="8"/>
      <Setter Property="DockPanel.Dock" Value="Top"/>
    </Style>
  </Window.Resources>

  <Border Margin="10" BorderBrush="Silver" BorderThickness="3" Padding="8">
    <DockPanel>
      <TextBlock>Choose a Color:</TextBlock>
      <ComboBox Name="myComboBox" SelectedIndex="0">
        <ComboBoxItem>Green</ComboBoxItem>
        <ComboBoxItem>Blue</ComboBoxItem>
        <ComboBoxItem>Red</ComboBoxItem>
      </ComboBox>
      <Canvas>
        <Canvas.Background>
          <Binding ElementName="myComboBox" Path="SelectedItem.Content"/>
        </Canvas.Background>
      </Canvas>
    </DockPanel>
  </Border>
</Window>

Cuando se representa este ejemplo, tiene un aspecto similar a lo siguiente:When this example is rendered it looks like the following:

Captura de pantalla que muestra a un cuadro combinado casilla con el valor de color verde y un cuadrado de color verde.

Nota

La propiedad de destino de enlace (en este ejemplo, el Background propiedad) debe ser una propiedad de dependencia.The binding target property (in this example, the Background property) must be a dependency property. Para obtener más información, consulte Información general sobre el enlace de datos.For more information, see Data Binding Overview.

Vea tambiénSee also