C# WPF数据网格绑定到IEnumerable<;KeyValuePair<;int、CustomType>&燃气轮机;

C# WPF数据网格绑定到IEnumerable<;KeyValuePair<;int、CustomType>&燃气轮机;,c#,wpf,data-binding,datagrid,C#,Wpf,Data Binding,Datagrid,我的数据网格: <DataGrid ItemsSource="{Binding Path=Question.Variations}" AutoGenerateColumns="False" Height="97" HorizontalAlignment="Left" Margin="7,6,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="322"> <DataGrid.C

我的数据网格:

<DataGrid ItemsSource="{Binding Path=Question.Variations}" AutoGenerateColumns="False" 
          Height="97" HorizontalAlignment="Left" Margin="7,6,0,0" Name="dataGrid1"
          VerticalAlignment="Top" Width="322">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Variatienr" Binding="{Binding Key}"/>
        <DataGridTextColumn Header="# vraagparameters" 
             Binding="{Binding Value.QuestionParameters.Count}"/>
        <DataGridTextColumn Header="# antwoordparameters" 
             Binding="{Binding Path=((TypedFieldsVariation)Value).Answers.Count}"/>
    </DataGrid.Columns>
</DataGrid>

下一栏除标题外不显示任何内容:

<DataGridTextColumn Header="# antwoordparameters" 
            Binding="{Binding Path=((TypedFieldsVariation)Value).Answers.Count}"/>

我知道这可能是错误的,但现在我的问题是,我如何证明它

itemssource
IEnumerable Variations

Variation
有两个子类,
MultipeChoiceVariation
TypedFieldsVariation


现在,我需要属性“Answers”,并且我确信datagrid的itemssource中的所有变体都是
TypedFieldVariations

,如果您丢失了括号并从它应该工作的路径中键入强制转换:

Path=Value.Answers.Count

如果它不能按您预期的方式工作,那么请检查输出窗口中的绑定错误,它将为您提供出错原因的线索。只需确保
Count
是一个属性,而不是一个函数。

@Stef-如果您对slugster的答案感到满意,请单击答案左侧的“勾号”将其标记为“已接受”。这将奖励slugster和你一些声望点数,并向其他人表明这是正确的答案。(你可能还想考虑在你的其他问题上做同样的事情,因为人们不愿意回答那些没有接受很多答案的用户的问题)=)