0

我正在寻找面板,它可以将集合中的每个项目随机旋转放置在随机位置。如果它是开源的,那就太好了!

我正在用 WinRT、XAML 编写,但我可以从 SL/WPF 移植它。

有谁知道这样的事情?

4

1 回答 1

1

我建议使用ItemsControl带有a 的正Canvas则,并将andItemsPanelTemplate绑定到某处生成的随机值Canvas.LeftCanvas.Top

<ItemsControl ItemsSource="{Binding MyCollection}">
    <!-- ItemsPanelTemplate -->
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>

    <!-- ItemContainerStyle -->
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="Canvas.Left" 
                    Value="{Binding SomeRandomValue}" />
            <Setter Property="Canvas.Top" 
                    Value="{Binding SomeRandomValue}" />
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

如何获得随机值取决于您。您可以将其设置为数据项的属性,从 a 返回随机值Converter,创建为您提供随机值的静态资源等

于 2012-07-31T15:34:51.440 回答