在wpf中绘制多个网格方块

时间:2012-07-24 08:02:37

标签: wpf grid

我有一个网格(30列20行)。每个方格都有一个画布,如:

Canvas Name =“canvas1”Grid.Column =“1”Grid.Row =“1”Style =“{StaticResource ResourceKey = ImagePlacement}

我必须复制并粘贴30x20平方。我怎样才能找到更好的方法?请帮帮我。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果需要命名但不需要特定订单,则可以使用UniformGrid

<UniformGrid Columns="30" Rows="20">
    <UniformGrid.Resources>
        <Style TargetType="Canvas">
            <Setter Property="Style" Value="{StaticResource ResourceKey=ImagePlacement}" />
        </Style>
    </UniformGrid.Resources>
    <Canvas Name="canvas1" />
    <Canvas Name="canvas2" />
    ...
</UniformGrid>

如果您有项目列表,请使用ItemsControl

<ItemsControl ItemsSource="{Binding YourItemsList}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Columns="30" Rows="20" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Canvas Style="{StaticResource ResourceKey=ImagePlacement}">
                ... your bounded Content ...
            </Canvas>               
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>