2010-11-22 204 views
2

我有一個WPF控件(ControlA),它引用了另一個控制(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> 

現在ControlB我有一個按鈕,我想IsEnabled屬性綁定到我的網格上可連接列controlA。

我可以讓它工作,當我在同一頁面上的控件,但不是在aboce場景。我

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

回答

1

按鈕嘗試內ControlB有沒有正常的方式來知道什麼是控制ControlB之外。一種可能的解決方案是將布爾依賴項屬性添加到ControlB,如IsConnectable。在控制ControlA的XAML中,將屬性與路徑綁定到dataGridBackup,就像您一樣。在控件ControlB的XAML中,將按鈕的IsEnabled屬性綁定到ControlBIsConnectable

相關問題