WPF Listbox Wrapping - PullRequest
       21

WPF Listbox Wrapping

12 голосов
/ 10 ноября 2010

У меня есть список, в котором я использую 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

Ответы [ 2 ]

17 голосов
/ 10 ноября 2010

Я пытаюсь, чтобы обертка имела поведение, при котором элементы заполняются вправо, когда ширина становится шире, и оборачиваются по мере необходимости, когда окно становится уже.Я играл с ним, но правильная комбинация ускользает от меня.У кого-нибудь есть предложения?

Код, который у вас есть, почти правильный, просто измените Orientation на Horizontal, и он должен работать так, как вы описываете

МойСледующая цель будет иметь возможность переупорядочить / отсортировать элементы и обновить визуализацию.

Вам не нужно делать ничего особенного для этого, это нормальное поведение ListBox.Просто измените порядок сортировки (используя ICollectionView.SortDescriptions), и пользовательский интерфейс будет отражать изменения

0 голосов
/ 19 ноября 2015
                <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>
...