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