У меня есть RadDatagrid, который динамически заполняется полями ввода. Каждый тип данных имеет собственный DataTemplate. Теперь, когда я набираю текстовый ввод и нажимаю Enter, select выбирает текстовое поле в следующей ячейке. Если это ячейка, у которой есть раскрывающийся список, и я начинаю вводить текст, он начнет записывать строковое значение в ячейке. Я предполагаю, что механизм работает для обычных ящиков ввода, так как типизированное значение просто копируется в элемент управления. Но для выпадающего списка это вызывает ошибку, так как вы не можете ввести строку в список.Выбор выпадающего списка в RadDataGrid
При выборе элемента управления мышью все работает нормально. Это происходит только при выборе клавиатуры. Я считаю, что разница в том, что элемент управления выбирается вместо ячейки сетки.
Вот XAML для шаблона:
<local:SettingValueTemplateSelector.DictionaryTemplate>
<DataTemplate>
<telerik:RadComboBox
SelectedValuePath="Key"
DisplayMemberPath="Value"
SelectedIndex="{Binding SelectedIndex, Mode=TwoWay}"
IsEnabled="{Binding IsWritable}">
<telerik:RadComboBox.ItemsSource>
<MultiBinding Converter="{StaticResource InputTypeConverter}" ConverterParameter="dictionary">
<Binding Path="SettingsValue" Mode="TwoWay"/>
<Binding Path="Type" Mode="OneWay"/>
</MultiBinding>
</telerik:RadComboBox.ItemsSource>
</telerik:RadComboBox>
</DataTemplate>
</local:SettingValueTemplateSelector.DictionaryTemplate>
Подумываю использовать ячейки изменилось событие programmaticaly выберите элемент управления, но я не могу найти способ, чтобы выбрать его. Как я могу остановить его от перехода в режим редактирования ячейки?