Чтобы иметь список/коллекцию отображаемых объектов, вам нужно использовать сортировку «ItemsControl». В этом случае, следующий фрагмент может быть полезно:
<ItemsControl ItemsSource="{Binding Game.Tiles}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Column" Value="{Binding Column}" />
<Setter Property="Grid.Row" Value="{Binding Row}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:Position}">
<Ellipse Fill="{Binding FillColor}"
Stroke="{StaticResource TileStroke}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Не забудьте положить в правом ТипДанных для DataTemplate и достаточно строк/столбцов в сетку для хранения данных.
Также не так легко включить неизвестное количество строк/столбцов. Если это интересно, я могу вернуться к вам с решением, но исходный пост читается как идея игрового поля - вроде шашек - поэтому я предполагаю, что количество столбцов/строк является постоянным.
Это в контексте WPF? Также вы могли бы объяснить свою проблему немного лучше? Что ты пытаешься сделать? –
Да, это в 'UserControl' и внутри' Grid'. –
Вы пытались сделать это из кода? –