0

コレクション内のすべてのアイテムをランダムな場所に、ランダムな回転で配置できるパネルを探しています。オープンソースになれば最高です!

WinRT、XAMLで書いていますが、SL/WPFから移植できます。

誰かそのようなことを知っていますか?

4

1 に答える 1

1

として通常ItemsControlの aを使用し、 andをどこかで生成されたランダムな値にバインドすることをお勧めしますCanvasItemsPanelTemplateCanvas.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>

ランダム値を取得する方法はあなた次第です。データ項目のプロパティとして設定したり、 からランダムな値を返したり、ランダムな値Converterを提供する静的リソースを作成したりできます。

于 2012-07-31T15:34:51.440 に答える