0
私のプロジェクトでは、テンプレート列(コンボボックス)とデータグリッドテキスト列を含むデータグリッドがあります。データグリッドテキスト列をテンプレート列のコンボボックスの選択項目のプロパティデータグリッドテンプレート列のコンボボックスの選択項目をデータグリッドテキスト列にバインド
たとえば、最初の列はコンボボックスを含むテンプレート列で、次の列は通常のデータグリッドテキスト列です。テンプレート列のコンボボックスの選択項目のプロパティにテキスト列テキストをバインドするにはどうすればよいですか。
私はこれを試してみたが、私はBinding Source={x:Reference comboBox}
にBinding ElementName = 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>
を与えています。しかし、それは例外をスローしています。 誰でも私にこのことのための解決策を教えてもらえますか?