2010-11-22 29 views
2

私は別のコントロール(ControlB)などを参照するWPFコントロール(ControlA)持っている:私はボタンを持っていると私は私のグリッドの接続可能列にIsEnabledプロパティをバインドしたいControlBで今あるコントロールのプロパティを別のコントロールにバインドする方法は?

<Grid> 
    <controls:ControlB x:Name="ControlB" />   
    <my:DataGrid 
     x:Name="dataGridBackup" 
     ItemsSource="{Binding}" 
     AutoGenerateColumns="False" > 
     <my:DataGrid.Columns> 
      <my:DataGridCheckBoxColumn 
       Header="Connectable" 
       Binding="{Binding Connectable}" /> 
     </my:DataGrid.Columns> 
    </my:DataGrid> 
</Grid> 

をcontrolA。

は、私は私がではなく、aboceのシナリオでは、同じページ上のコントロールを持っている場合、それは働いて得ることができます。私は、コントロールControlB外に何があるかを知るために何の通常の方法を持っていないControlB

<Button 
    IsEnabled="{Binding ElementName=dataGridBackup, Path=SelectedItem.Connectable}"> 
</Button> 

答えて

1

ボタンでみました。考えられる解決策の1つは、ブール値依存性プロパティをControlBに追加することです。IsConnectableのようにします。コントロールControlAのXAMLでは、パスのようにプロパティをdataGridBackupにバインドします。コントロールControlBのXAMLでは、ボタンのIsEnabledプロパティをIsConnectableに、ControlBにバインドします。

関連する問題