2016-03-30 91 views
0

在我的項目中,我有一個數據網格,其中包含模板列(組合框)和數據網格文本列。如何將數據網格文本列綁定到屬性在模板列中組合框的選定項目中。將數據網格模板列組合框的選定項綁定到數據網格文本列

例如,第一列是包含組合框的模板列,下一列是常規數據網格文本列。如何將文本列文本綁定到模板列中組合框的選定項目中的屬性。

我試過這個,但給綁定錯誤

<DataGrid 
Grid.Column="0" 
Grid.Row="3" 
Grid.ColumnSpan="9" 
AutoGenerateColumns="False" 
Margin="5" 
CanUserDeleteRows="False" CanUserAddRows="False" 
DataContext="{Binding}" 
IsEnabled="{Binding EnableControls}" 
ItemsSource="{Binding SalesItemCollection}" 
EnableRowVirtualization="False" 
EnableColumnVirtualization="False" 
IsSynchronizedWithCurrentItem="False"> 

<DataGrid.Columns> 

    <DataGridTemplateColumn Header="Batch" Width="*"> 
     <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <ComboBox x:Name="comboBox" 
          IsEditable="True" 
          MaxDropDownHeight="125" 
          DisplayMemberPath="BatchName" 
          VerticalAlignment="Stretch" 
          VerticalContentAlignment="Center" 
          IsSynchronizedWithCurrentItem="False" 
          SelectedValuePath="BatchId" 
          SelectedValue="{Binding BatchId}" 
          SelectedItem="{Binding Batch}" 
          ItemsSource="{Binding Path=DataContext.BatchColection, 
          RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" /> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 

    </DataGridTemplateColumn> 

    <DataGridTextColumn IsReadOnly="True" Header="Expiry " 
         Binding="{Binding ElementName = comboBox, Path=SelectedItem.Expirydate}" /> 


</DataGrid.Columns> 

我試圖改變Binding ElementName = comboBoxBinding Source={x:Reference comboBox}。但它是拋出異常。 任何人都可以告訴我一個解決方案。

回答

1

因爲你已經結合所選項目到批量使用的是,試試這個

<DataGridTextColumn IsReadOnly="True" Header="Expiry " 
        Binding="{Binding Source=Batch, Path=Title}" /> 
相關問題