Le panneau d'enrubannage doit pouvoir se déplacer quelque part dans sa largeur. Il semble que vous voulez qu'il soit limité à l'espace disponible dans le conteneur. Dans ce cas, le conteneur doit être d'un type qui limitera la largeur. Par exemple, le suivant fonctionne très bien: -
<UserControl x:Class="SilverlightApplication1.WrapPanelStuff"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:toolkitControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit">
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer>
<toolkitControls:WrapPanel>
<Border BorderBrush="Black" BorderThickness="2">
<TextBlock Text="This should be quite long so that it takes up some horizontal space" />
</Border>
<Border BorderBrush="Black" BorderThickness="2">
<TextBlock Text="This should be quite long so that it takes up some horizontal space" />
</Border>
<Border BorderBrush="Black" BorderThickness="2">
<TextBlock Text="This should be quite long so that it takes up some horizontal space" />
</Border>
</toolkitControls:WrapPanel>
</ScrollViewer>
</Grid>
</UserControl>
Le Grid
limite la WrapPanel
à la largeur disponible. Remplacez Grid
par Canvas
et cela ne fonctionne plus car Canvas
ne limite pas la largeur de son contenu.
À quoi sert le site ScrollViewer? – AnthonyWJones