我正在寻找面板,它可以随机旋转放置集合中的每个项目。 如果它是开源的话会很棒!
我正在写WinRT,XAML,但我可以从SL / WPF移植它。
有谁知道这样的事情?
答案 0 :(得分:1)
我建议使用常规ItemsControl
Canvas
作为ItemsPanelTemplate
,并将Canvas.Left
和Canvas.Top
绑定到某处生成的随机值< / p>
<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>
如何获得随机值取决于您。您可以将其设置为数据项的属性,从Converter
返回随机值,创建一个为您提供随机值的静态资源等。