<DataGrid x:Name="PrescriptionDataGrid" AutoGenerateColumns="False" Grid.Row="1" Grid.Column="1" CanUserAddRows="True" SelectionMode="Single" KeyUp="DGEnterPressed" >
<DataGridTemplateColumn Header="Form" MinWidth="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox MinWidth="100" IsEditable="True" KeyUp="CBKeyUp" LostFocus="ComboBoxLostFocus" GotFocus="CBGotFocused">
<ComboBoxItem Content="Tablet"/>
<ComboBoxItem Content="SR Tablet"/>
<ComboBoxItem Content="Coated Tablet"/>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid>
В коде XAML у меня есть сетка данных. Внутри сетки данных - выпадающий список. У меня есть много других столбцов в исходном коде, но этот упрощен. Проблема в том, что выпадающий список не выделяется только двойным щелчком, поэтому строка таблицы данных также не выделяется. Тем не менее, я перехватываю событие одного щелчка в поле со списком и хочу узнать, какая строка в этом списке находится в сетке данных. Вы не можете использовать
PrescriptionDataGrid.Items.IndexOf
, потому что сетка данных вернет -1, поскольку ни одна строка не выбрана. Как узнать индекс строки, в которой находится выпадающий список.