【问题标题】:WPF Listbox WrappingWPF 列表框包装
【发布时间】:2010-11-09 22:56:39
【问题描述】:

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

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

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

TIA

【问题讨论】:

    标签: wpf xaml listbox wrappanel


    【解决方案1】:

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

    您的代码几乎是正确的,只需将Orientation 更改为Horizontal,它应该可以按照您的描述工作

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

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

    【讨论】:

    • 哦,是的 - 它有效。非常感谢。我必须说一般...这是最有用的网站之一。谢谢大家。
    【解决方案2】:
                    <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>
    

    【讨论】:

      猜你喜欢
      • 2011-12-11
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多