Adding a linebreak/new line to a WPF Wrap Panel Adding a linebreak/new line to a WPF Wrap Panel wpf wpf

Adding a linebreak/new line to a WPF Wrap Panel


public class NewLine : FrameworkElement{    public NewLine()    {        Height = 0;        var binding = new Binding        {            RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor, typeof(WrapPanel), 1),            Path = new PropertyPath("ActualWidth")        };        BindingOperations.SetBinding(this, WidthProperty, binding);    }}<WrapPanel>    <TextBox Text="Text1"/>    <TextBox Text="Text2"/>    <my:NewLine/>    <TextBox Text="Text3"/>    <TextBox Text="Text4"/></WrapPanel>


This is a line break in a WrapPanel:

<WrapPanel>    <TextBlock Text="&#xD;"/></WrapPanel>

Update

I think I figured out what you're trying to ask. If you have a WrapPanel that is laying out by row, and you want to force it to the next row, you can replace the single WrapPanel with

 <StackPanel Orientation="Vertical">  <StackPanel Orientation="Horizontal">   <!-- items -->  </StackPanel>  <StackPanel Orientation="Horizontal">   <!-- items -->  </StackPanel>  <StackPanel Orientation="Horizontal">   <!-- items -->  </StackPanel> </StackPanel>

If you want to preserve wrapping of individual rows, you can use WrapPanels inside the vertical StackPanel.