当使用包含组合框列的datatemplatecolumn加载数据网格时,我收到一条错误消息"Recursive call to Automation Peer API is not valid“。错误最终在我们未处理的异常代码中被捕获。这似乎是我的机器上的一个问题,谷歌没有提供解决这个问题的指导来源。这个问题似乎只有在我用数据填充组合框时才会出现。填充组合框(如果我没有加载数据)可以正常工作,并且在显示错误时,我能够在后台看到正确检索到的数据。
我使用了一个WPF datagrid,其中我使用了一个DataGridTemplateColumn来在网格中添加一个组合框。我使用objectdataprovider将下拉列表绑定到枚举。在后面的代码中,在初始化我的屏幕时,我使用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>
任何和所有关于解决这个问题的指导都是值得感谢的。
https://stackoverflow.com/questions/4017786
复制相似问题