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和你一些声望点数,并向其他人表明这是正确的答案。(你可能还想考虑在你的其他问题上做同样的事情,因为人们不愿意回答那些没有接受很多答案的用户的问题)=)