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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie die
ItemsControl
imUniformGrid
(Das ist der Grund, warum die Steuerung ist so klein), aber die uniform grid sollte innen dieItemsControl
als seineItemsPanel
(das ist currrently eineWrapPanel
).Du bist willkommen 🙂
InformationsquelleAutor H.B.