Я получаю сообщение об ошибке «Рекурсивный вызов API однорангового узла автоматизации недопустим» при загрузке таблицы данных со столбцом datatemplatecolumn, содержащим столбец combobox. Ошибка попадает в наш код необработанного исключения. Похоже, это проблема на моей машине, и Google не предоставил никаких указаний по ее устранению. Проблема возникает только тогда, когда я заполняю поля со списком данными. Заполнение полей со списком (если я не загружаю данные) работает правильно, и пока отображается ошибка, я могу видеть данные, правильно извлеченные в фоновом режиме.
Я использую таблицу данных WPF, в которой я использую DataGridTemplateColumn для добавления поля со списком внутри сетки. У меня есть раскрывающийся список, привязанный к перечислению с помощью объекта-провайдера. В коде позади при инициализации моего экрана я использую оператор Linq2Sql для извлечения данных и заполнения Itemssource сетки.
<grid:DataGrid.Resources>
<ObjectDataProvider
x:Key="ChangeTypeData"
MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="namespace:ChangeType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</grid:DataGrid.Resources>
<grid:DataGrid.Columns>
<grid:DataGridTextColumn Binding="{Binding DatapointName}" Header="Datapoint Changed" IsReadOnly="True" Width="Auto" />
<grid:DataGridTemplateColumn Header="Change Type">
<grid:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
Text="{Binding Path=ChangeTypeName}"
ItemsSource="{Binding Source={StaticResource ChangeTypeData}}"
Name="dgcboChangeType"
SelectionChanged="dgcboChangeType_SelectionChanged"/>
</DataTemplate>
</grid:DataGridTemplateColumn.CellTemplate>
Приветствуются любые рекомендации по решению этой проблемы.