本文实例讲述了WPF中的ListBox实现按块显示元素的方法。分享给大家供大家参考,具体如下:
注意:需要设置ListBox的属性 ScrollViewer.HorizontalScrollBarVisibility="Disabled"
关键代码,WPF中有内置的WrapPanel控件,在ListBox.ItemsPanel中使用可以让元素按块显示
1
2
3
4
5
|
< ListBox.ItemsPanel > < ItemsPanelTemplate > < WrapPanel /> </ ItemsPanelTemplate > </ ListBox.ItemsPanel > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
< ListBox Height = "304" HorizontalAlignment = "Left" Margin = "14,143,0,0" Name = "lstTables" VerticalAlignment = "Top" Width = "615" ScrollViewer.HorizontalScrollBarVisibility = "Disabled" > < ListBox.ItemsPanel > < ItemsPanelTemplate > < WrapPanel /> </ ItemsPanelTemplate > </ ListBox.ItemsPanel > < ListBox.ItemTemplate > < DataTemplate > < Grid Margin = "20,20,20,20" > < Grid.RowDefinitions > < RowDefinition ></ RowDefinition > < RowDefinition ></ RowDefinition > < RowDefinition ></ RowDefinition > </ Grid.RowDefinitions > < Image Source = "Images/table.png" Grid.Row = "0" Height = "42" Width = "42" HorizontalAlignment = "Center" > < Image.Effect > < DropShadowEffect /> </ Image.Effect > </ Image > < TextBlock Text = "{Binding FTableName,Mode=TwoWay}" Grid.Row = "1" HorizontalAlignment = "Center" Margin = "5,5,5,5" /> < CheckBox IsChecked = "{Binding FSelected,Mode=TwoWay,Converter={StaticResource SelCTS}}" Grid.Row = "2" HorizontalAlignment = "Center" > < CheckBox.Effect > < DropShadowEffect /> </ CheckBox.Effect > </ CheckBox > </ Grid > </ DataTemplate > </ ListBox.ItemTemplate > </ ListBox > |