13

我有一个列表框,在其中使用 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

4

2 回答 2

19

我试图让 wrappanel 具有这样的行为,即当宽度变宽时项目填充到右侧,并在窗口变窄时根据需要进行包装。我玩过它,但正确的组合让我望而却步。有人有建议吗?

您拥有的代码几乎是正确的,只需将 to 更改OrientationHorizontal它应该可以按照您的描述工作

我的下一个目标是能够重新排序/排序项目并更新渲染。

您不必为此做任何特别的事情,这是 a 的正常行为ListBox。只需更改排序顺序(使用ICollectionView.SortDescriptions),UI 将反映更改

于 2010-11-09T23:06:13.320 回答
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>
于 2015-11-19T15:58:42.223 回答