Подтвердить что ты не робот

WPF Listbox Wrapping

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 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>