【发布时间】:2019-12-31 15:03:39
【问题描述】:
我有一个项目控件绑定到“TypeA”类型的集合。这种类型 'TypeA' 有一个类型 'TypeB' 的集合。
在项目控件dataTemplate 中,我有一个datagrid,它为TypeB 集合的每个项目显示一行,并且为每一行显示变量“VariableOfTypeB”的值的一列。
效果很好。
现在,我想在下面显示另一个datagrid,它绑定到类型“TypeA”的集合的当前项,并将显示变量“VariableOfTypeA”的值。这我似乎无法实现。
我可以在datagrid 之外访问“VariableOfTypeA”,例如在标签中。
请问您有什么建议吗?
<ItemsControl ItemsSource="{Binding TypeACollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<DataGrid ItemsSource="{Binding TypeBCollection}">
<DataGrid.Columns>
<DataGridTextColumn Width="Auto"
Binding="{Binding VariableOfTypeB />
</DataGrid.Columns>
</DataGrid>
<!-- cannot make this work -->
<DataGrid ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Width="Auto"
Binding="{Binding VariableOfTypeA />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
【问题讨论】:
-
不确定它与任何东西有什么关系。请再次阅读问题:我想将数据网格与当前的TypeA项绑定。我可以在数据网格之外很好地访问它。
-
再一次,你不明白这个问题。感谢您抽出宝贵时间回复。
-
to bind 的过去式(和过去分词)是 bound。它是“我有一个项目控件绑定(或绑定)到一个集合”。 绑定 不存在。我读的太频繁了,总觉得很烦。
标签: wpf itemscontrol