WPF DataGrid binding to IEnumerable<KeyValuePair<int,
本文关键字:lt KeyValuePair int DataGrid binding IEnumerable WPF to | 更新日期: 2023-09-27 17:50:35
My 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.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<KeyValuePair<int, Variation>> Variations
Variation
有两个子类,MultipeChoiceVariation
和TypedFieldsVariation
现在我想要属性'Answers',我确信数据网格的itemssource中的所有变化都是TypedFieldsVariations
如果你从路径中去掉括号和类型转换,它应该可以工作:
Path=Value.Answers.Count
如果它不像你期望的那样工作,那么检查你的Output窗口是否有绑定错误,它会给你提示出了什么问题。只要确保Count
是一个属性,而不是一个函数。