オブジェクトのリスト/コレクションを表示するには、ある種の「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 の適切な DataType と、データを保持するのに十分な行/列をグリッドに入れることを忘れないでください。
また、不明な数の行/列を含めるのはそれほど簡単ではありません。それが興味深い場合は、解決策を提供して返信することができますが、元の投稿はゲームボードのアイデアのように読まれました-チェッカーのように-したがって、列/行の数は一定であると想定しています.