Я могу добавить Combobox в DataGrid, используя следующее xmal:
<local:DataGridTemplateColumn Header="SomeHeader" Width="106" HeaderStyle="{StaticResource headerAlignRightStyle}" CellStyle="{StaticResource cellAlignRightStyle}">
<local:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SomeProp}" Margin="4"/>
</DataTemplate>
</local:DataGridTemplateColumn.CellTemplate>
<local:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
x:Name="SomeCombo"
SelectionChanged="SomeCombo_SelectionChanged"
ItemsSource="{Binding SomeList}"
DisplayMemberPath="Name"
/>
</DataTemplate>
</local:DataGridTemplateColumn.CellEditingTemplate>
</local:DataGridTemplateColumn>
Однако, что я не могу понять, так это разумный способ получить строку, которая была combox
связаны с т.е. при обработке события Combobox SelectionChanged у меня нет возможности узнать, что
к какому ряду относится комбобокс. В частности, я не знаю, какой объект в источнике данных DataGrid
что комбобокс ссылается на.
Любая помощь будет высоко ценится.