本文實例講述了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 > |
希望本文所述對大家C#程序設計有所幫助。