我想像下面那样制作相同的ListView / DataGird:
首先:我不确定它是ListView还是DataGrid,我怎么知道?
第二:我怎么能这样做? (如您所见,第一个单元格中有Icon,第二个分为3行>设备名称,设备驱动程序和设备状态。第三个带有音量表的单元格没有完成)。
非常感谢!
答案 0 :(得分:1)
您可以使用ListView
,ListBox
或DataGrid
执行此操作,因为ListBox可能不是最简单的标头。
只需使用Grid
创建ItemTemplate
,使用SharedSizeGroups
使列大小相同,在第二列中添加另一个包含三行文字的网格。
ListView
与GridView
组合但是已经提供了列,因此您只需要在第二列中创建一个Grid,您可以设置要折叠的标题样式。
<ListView.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</ListView.Resources>
GridView
示例(用作ListView.View
):
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Width="64" Height="64" Source="{Binding Icon}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding Name}" />
<TextBlock Grid.Row="1" Text="{Binding Manufacturer}" Foreground="Gray" />
<TextBlock Grid.Row="2" Text="{Binding Status}" Foreground="Gray" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
答案 1 :(得分:1)
感谢H.B.,如果您只想显示没有选择等,请使用ItemsControl
:
ItemsControl