0

In meinem Projekt habe ich ein Datenraster, die Vorlage Spalten (Combobox) und Datenraster Textspalten enthält.Wie kann ich eine Datenraster Textspalte zu a binden Eigenschaft im ausgewählten Element der Combobox in der Vorlagenspalte.Binding Data Grid Vorlage Spalte Combo-Box das ausgewählte Element, um Datenraster Textspalte

Beispiel: Die erste Spalte ist eine Vorlagenspalte, die eine Combobox enthält, und die nächste Spalte ist eine reguläre Datenrastertextspalte. Wie kann ich den Text einer Textspalte an eine Eigenschaft im ausgewählten Element der Combobox in der Vorlagenspalte binden?

Ich habe schon versucht, diese aber geben Bindung Fehler

<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> 

Ich habe Binding ElementName = comboBox zu Binding Source={x:Reference comboBox} versucht zu ändern. Aber es wirft Ausnahme. Kann mir jemand eine Lösung dafür sagen.

Antwort

1

Wie Sie verbindlich sind bereits ausgewählte Element Batch Verwendung, die diese

<DataGridTextColumn IsReadOnly="True" Header="Expiry " 
        Binding="{Binding Source=Batch, Path=Title}" /> 
Versuchen
Verwandte Themen