Je reçois un message d'erreur «Appel récursif à l'API Peer Automation n'est pas valide» lors du chargement d'une grille de données avec un datatemplatecolumn contenant une colonne de zone de liste déroulante. L'erreur se retrouve dans notre code d'exception non gérée. Cela semble être un problème sur ma machine, et Google n'a fourni aucune source de conseils sur la résolution du problème. Le problème semble se produire uniquement lorsque je remplis les zones de liste déroulante avec des données. Remplir les comboboxes (si je ne charge pas les données) fonctionne correctement, et pendant que l'erreur est affichée, je suis en mesure de voir les données correctement récupérées en arrière-plan.L'appel récursif WPF à Automation Peer API n'est pas valide
J'utilise une grille de données WPF dans laquelle j'utilise un DataGridTemplateColumn pour ajouter une zone de liste déroulante dans la grille. J'ai la liste déroulante liée à une énumération en utilisant un objectdataprovider. Dans le code derrière lors de l'initialisation de mon écran, j'utilise une instruction Linq2Sql pour récupérer des données et remplir la source Items de la grille.
<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>
Tout et tous les conseils sur la résolution de cette question est appréciée.
J'ai rencontré le même problème et le problème a disparu lorsque j'ai défini la hauteur du DataGrid. –