Canvas ItemsControls вопрос позиции позиции - PullRequest
1 голос
/ 24 января 2012
<Canvas x:Name="MainCanvas"
        Width="350"
        Height="622">
    <Canvas.RenderTransform>
        <CompositeTransform TranslateX="-350" />
    </Canvas.RenderTransform>
    <ItemsControl ItemsSource="{Binding ElementList}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding name}" Foreground="Red"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Canvas>

Так вот что у меня есть. Однако, когда я связываю список с контролем элементов, все элементы помещаются под каждым другим.

Как я могу заставить их порождать первые 4 в первом ряду, затем чистые 4 следующего ряда?

например, когда у меня есть 10 элементов, оно должно быть таким:

1 2 3 4

5 6 7 8

9 10

1 Ответ

1 голос
/ 24 января 2012

Панель элементов по умолчанию для ItemsControl использует StackPanel.Вам необходимо получить Silverlight Toolkit и использовать элемент управления WrapPanel в шаблоне ItemsControl ItemsPanel.Вам также необходимо указать фиксированную ширину WrapPanel.

...