A single word doesn't wrap to a new line even though there is no space to fit all of the word on the current line. Is there a way I can force it to do so? This is demonstrated on the left hand side image. When a whitespace is introduced the system will wrap how I want to to. See right hand side.
The XAML:
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Width="{Binding ElementName=SummaryStackPanel, Path=ActualWidth, UpdateSourceTrigger=PropertyChanged}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Label}" Grid.Column="0" HorizontalAlignment="Left" TextWrapping="Wrap" />
<TextBlock Text="{Binding Value}" Grid.Column="1" Margin="8,0,0,0" TextWrapping="Wrap" HorizontalAlignment="Right" TextAlignment="Right"/>
</Grid>
</DataTemplate>
Edit: The problem with using a wrap panel is you can't align the content. Previously I didn't show this, but the values that don't need to wrap at all need to be right aligned. It appears that wrap panel doesn't allow you to align content out of the box WPF - How can I center all items in a WrapPanel?
Wrap Panel (left) Vs Grid (right)