0

В моем проекте у меня есть сетка данных, содержащая столбцы столбцов столбца (столбцы) и столбцы таблицы данных. Как я могу привязать столбец таблицы сетки данных к свойство в выбранном элементе combobox в столбце шаблона.Связанный элемент таблицы столбцов таблицы привязки данных в поле столбца таблицы данных

например, Первый столбец является столбцом шаблона, который содержит выпадающий список, а следующий столбец является регулярным столбцом текстовой таблицы данных. Как я могу привязать текст текстового столбца к свойству в выбранном элементе combobox в столбце шаблона.

Я попытался это, но дает ошибку Юридически обязательный

<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 = comboBox к Binding Source={x:Reference comboBox}. Но это исключение. Может ли кто-нибудь сказать мне решение для этого.

ответ

1

Как вы уже обязательными для выбранного элемента использования Batch, что Тест

<DataGridTextColumn IsReadOnly="True" Header="Expiry " 
        Binding="{Binding Source=Batch, Path=Title}" /> 
Смежные вопросы