wpfxamllistboxwrappanel

WPF Listbox Wrapping


I have a listbox in which I use a 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>...

I am trying to have the wrappanel have a behavior such that the items fill in to the right as the width is made wider and wrap as needed when the window is made narrower. I have played with it but the correct combination eludes me. Does anyone have a suggestion?

My next goal would be able to reorder/ sort the items and have the render update.


Solution

  • I am trying to have the wrappanel have a behavior such that the items fill in to the right as the width is made wider and wrap as needed when the window is made narrower. I have played with it but the correct combination eludes me. Does anyone have a suggestion?

    The code you have is almost correct, just change the Orientation to Horizontal and it should work as you describe

    My next goal would be able to reorder/ sort the items and have the render update.

    You don't have to do anything special for that, it's the normal behavior of a ListBox. Just change the sort order (using ICollectionView.SortDescriptions), and the UI will reflect the changes