Mit uniformgrid anordnen von Schaltflächen in einem Quadrat

Im schreiben dieses Kinder-Spiel (memory) und haben eine Liste mit Kacheln (Liste), die ich binden, um ein Elemente-Steuerelement in einem wrappanel. Jetzt habe ich 22 Fliesen-und Sie ordnen sich in zwei Reihen in der Mitte.

Was ich wirklich will, ist, ordnen Sie es in eine 5x5-matrix in der Mitte des Bildschirms, so dass es skaliert mit der Menge der Fliesen. I cant get die Fliesen zu zeigen Sie richtig, wenn Sie die uniform grid, die Größe ist sehr klein und in der linken oberen Ecke meines Bildschirms. Wenn ich die Spalten und die Zeilen-Eigenschaften es toesnt zeigen, als ob Ihr außerhalb der Grenzen. Wer kann helfen?

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>

InformationsquelleAutor Brian Hvarregaard | 2011-11-23

Schreibe einen Kommentar