我想作相同的ListView/DataGird类似如下:的ListView /在细胞多行的DataGrid
第一:我不知道这是否是一个ListView或一个DataGrid,我怎么能知道?
第二:我该怎么做? (正如你所看到的,第一个单元格中有Icon,第二个单元被分成3行>设备名称,设备驱动程序和设备状态。第三个单元与体积计没有关系。
非常感谢!
我想作相同的ListView/DataGird类似如下:的ListView /在细胞多行的DataGrid
第一:我不知道这是否是一个ListView或一个DataGrid,我怎么能知道?
第二:我该怎么做? (正如你所看到的,第一个单元格中有Icon,第二个单元被分成3行>设备名称,设备驱动程序和设备状态。第三个单元与体积计没有关系。
非常感谢!
感谢HB,如果你只是想显示没有选择等,使用ItemsControl
: ItemsControl
你可以用ListView
,ListBox
或DataGrid
来做到这一点,因为没有头文件,ListBox可能是最简单的。
只需使用Grid
创建一个ItemTemplate
,使用SharedSizeGroups
可以使列的大小相同,在第二列中添加另一个具有三行文本的Grid。
在组合ListView
与GridView
但将提供的列了,所以你只需要在第二个栏创建一个网格,你可以风格折叠头。 (用作ListView.View
)
<ListView.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</ListView.Resources>
GridView
例如:
<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>
虽然你的回答是更沉浸在博鲁的回答中对我来说更好。我不需要单独选择每个单元格,而是完整的行。因此我将Bolu解决方案标记为已接受。感谢您的时间和解决方案。 – Ron 2012-01-16 18:03:40
@Ron:我想你误会了,如果你使用'ListBoxe'或'ListView'你会*选择完整的行,'ItemsControls'另一方面**没有任何选择**。 – 2012-01-16 18:58:36
ItemsControls没有选择,所以根据需要,这可能会也可能不是个好主意...... – 2012-01-16 17:29:08
@ H.B。你是对的,非常感谢。 – Bolu 2012-01-16 17:37:52
为我的目的提供更好的解决方案。不需要单独选择每个单元格,而是选择完整的行。谢谢。 – Ron 2012-01-16 18:04:16