方法 : 2 つのコントロールのプロパティをバインドするHow to: Bind the Properties of Two Controls

この例では、ElementName プロパティを使用して、インスタンス化されたコントロールのプロパティを別のコントロールのプロパティにバインドする方法を示します。This example shows how to bind the property of one instantiated control to that of another using the ElementName property.

Example

次の例は、CanvasBackground プロパティを ComboBoxSelectedItemプロパティにバインドする方法を示しています。The following example shows how to bind the Background property of a Canvas to the SelectedItem.Content 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>

この例をレンダリングすると、次のようになります。When this example is rendered it looks like the following:

緑色の値が選択されたコンボボックスと緑色の四角形を示すスクリーンショット。

注意

バインディングターゲットプロパティ (この例では Background プロパティ) は依存関係プロパティである必要があります。The binding target property (in this example, the Background property) must be a dependency property. 詳しくは、「データ バインディングの概要」をご覧ください。For more information, see Data Binding Overview.

関連項目See also