À l'aide de uniformgrid à organiser les boutons dans un carré

Im écrit cette childrens jeu (de mémoire) et une liste de tuiles (Liste) que j'ai lier à un les éléments de contrôle à l'intérieur d'un wrappanel. Maintenant, j'ai 22 tuiles et ils se rangent en deux lignes dans le centre.

Ce que je veux vraiment, c'est de l'organiser en une matrice 5x5 dans le centre de l'écran, de sorte qu'il s'adapte à la quantité de tuiles. Je ne peux pas obtenir les vignettes pour afficher correctement lors de l'utilisation de la grille uniforme, la taille est très petit et dans le coin en haut à gauche de mon écran. Lorsque j'ai mis les colonnes et les lignes propriétés, il toesnt montrer, comme si son à l'extérieur des limites. Quelqu'un peut aider?

XAML:

<Window x:Class="MemoryWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style TargetType="Button" x:Key="TransparentButton">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border Background="Transparent">
                            <ContentPresenter/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <UniformGrid Columns="5" Rows="5">
        <UniformGrid.Background>
            <ImageBrush x:Name="backBrush"/>
        </UniformGrid.Background>        
        <ItemsControl ItemsSource="{Binding Tiles}" VerticalAlignment="Center" HorizontalAlignment="center" Margin="100">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Button Style="{StaticResource TransparentButton}" BorderThickness="0" Padding="-4" Command="{Binding TurnTileCommand}" Opacity="{Binding OpacityVal}" Margin="10">
                        <Image Width="150" Height="150" Source="{Binding ImageUri}"/>
                    </Button>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
        <TextBlock Text="{Binding AmountTilesLeft}" VerticalAlignment="Bottom" FontSize="15"/>
    </UniformGrid>
</Window>

OriginalL'auteur Brian Hvarregaard | 2011-11-23