我想作相同的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