【发布时间】:2016-06-15 09:55:54
【问题描述】:
我有一个嵌套数据网格,当内部数据网格没有任何数据时,我想隐藏外部数据网格列。我正在使用 MVVM 模式。模型填充绑定到视图的集合中的数据。
组件 1、2 和 3 的列表通过外部数据网格内的数据网格显示。每个标签系列将有左右两个集合。
当模型没有左标签集合的任何组件时,我希望将左列完全隐藏。如下图所示。右列也是如此。
请帮助我实现这一目标。
我在这个网站和谷歌上搜索了类似的情况,但找不到类似的东西。
这是 XAML 代码:
<DataGrid ItemsSource="{Binding Labels}"
CanUserAddRows="False"
CanUserDeleteRows="False">
<DataGrid.Columns>
<DataGridTemplateColumn Width="10*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LabelFamily}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Right" Width="25*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding LeftLabel.Components}"
CanUserAddRows="False"
CanUserDeleteRows="False">
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Left" Width="25*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding RightLabel.Components}"
CanUserAddRows="False"
CanUserDeleteRows="False">
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我没有发布模型代码以使帖子尽可能简短。
【问题讨论】:
-
这样可以解决这个问题吗?或者我正在尝试一些错误并且需要一些更改或使用其他一些控件?