我有一个列表框,我使用ListBox.ItemsPanel - WrapPanel。
<ListBox ItemsSource="{Binding Path=Applets}" Margin="10,92,10,10" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" IsItemsHost="True">
</WrapPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>...
我试图让wrappanel有一个行为,当宽度变宽时,项目会填充到右侧,当窗口变窄时,根据需要进行包装。我玩过它但正确的组合让我失望。有没有人有建议?
我的下一个目标是能够重新排序/排序项目并进行渲染更新。
TIA
答案 0 :(得分:17)
我试图让wrappanel有一个行为,当宽度变宽时,项目会填充到右侧,当窗口变窄时,根据需要进行包装。我玩过它但正确的组合让我失望。有没有人有建议?
您拥有的代码几乎是正确的,只需将Orientation
更改为Horizontal
即可按照您的描述进行操作
我的下一个目标是能够重新排序/排序项目并进行渲染更新。
您不必为此做任何特别的事情,这是ListBox
的正常行为。只需更改排序顺序(使用ICollectionView.SortDescriptions
),UI就会反映更改
答案 1 :(得分:0)
<ListBox Grid.Row="1" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBoxItem Name="lbiTmp3_1"><CheckBox>
<TextBlock TextWrapping="Wrap">
lkjfd gmlkdsfmlk gmdsgf kds lkjglfdjmlkg jfdsg dsgf lkhfdgs lkjds fg
</TextBlock></CheckBox>
</ListBoxItem>
<ListBoxItem Name="lbiTmp3_2">C0ucou</ListBoxItem>
<ListBoxItem Name="lbiTmp3_3">C0ucou</ListBoxItem>
</ListBox>