我有一个网格(30列20行)。每个方格都有一个画布,如:
Canvas Name =“canvas1”Grid.Column =“1”Grid.Row =“1”Style =“{StaticResource ResourceKey = ImagePlacement}
我必须复制并粘贴30x20平方。我怎样才能找到更好的方法?请帮帮我。
谢谢!
答案 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>