I\'ve got problem with automatically breaking StackPanel into next line. Here\'s the sample code:
Use VariabeSizedWrapGrid instead of StackPanel, see http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.variablesizedwrapgrid.aspx
For the multiple TextBlocks, consider using a single textBlock with multiple Runs. Your Image can of course not be included in the runs, but one TextBlock with two Runs is better than two consecutive TextBlocks.
UPDATE: This might actually not help you at all to get the layout you want. You may have to look at the RichTextBlock control, see http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.richtextblock.aspx
Try the WrapGrid, it should do what you want: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.wrapgrid.aspx
The only catch (which isn't a bad thing) is that WrapGrid can only display items in an ItemsControl, so use it this way (changing ListView to any ItemsControl):
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
You might use GridView, it have similar layout-behavior as the WrapPanel.
Out of the box, there's no WrapPanel available for WinRT. At least not for now... However in the meantime there's a workaround... I've tested it and it works.
you can check the following links at the following link.
http://www.codeproject.com/Articles/24141/WrapPanel-for-Silverlight-2-0
Since WrapPanel inherits from Panel class, you can create a WrapPanel or simply use the the WrapPanel.cs code you'll find in the above SLV 2 app.
then simply include similar code
xmlns:wrapPanel="using:yourWinRTApp"
....
<wrapPanel:WrapPanel Orientation="Horizontal" Width="400" >
....
</wrapPanel:WrapPanel>
it should do the trick ...
Info taken from:
http://www.michielpost.nl/PostDetail_75.aspx