2017-12-24 5 views
0

Ich habe derzeit ein ListBox in einem DockPanel (das steht für ein wunderbares Diaballik Spiel) und am Ende mag ich durch die Boxen ein Etikett Victory über das Gitter aus der Lage sein, zu zeigen, wie im Bild:Wie füge ich ein Label über eine ListBox in WPF hinzu?

enter image description here

<DockPanel> 
    <ListBox DockPanel.Dock="Top" ItemsSource="{Binding Cases}" SelectedItem="{Binding SelectedCase, Mode=TwoWay}" HorizontalAlignment="Center" VerticalAlignment="Top" SnapsToDevicePixels="True"> 

     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <UniformGrid Columns="{Binding Size}"/> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 

     <ListBox.ItemContainerStyle> 
      <Style TargetType="ListBoxItem"> 
       <Setter Property="Padding" Value="0"/> 
      </Style> 
     </ListBox.ItemContainerStyle> 

     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid > 
        <Ellipse Fill="{Binding Color}" Width="50" Height="50" Visibility="{Binding HasPawn, Converter={StaticResource bool2visibility}}"/>       
        ... 
       </Grid> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

    <Label Content="VICTORY" /> <!-- How can this go over the list box ? --> 
</DockPanel> 

Antwort

1

Sie so etwas tun könnte (das Verhalten eines solchen ist Grid, dass es wird nur „Stack“ die Elemente „on top“ voneinander):

<DockPanel> 
    <Grid DockPanel.Dock="Top"> 
     <ListBox ItemsSource="{Binding Cases}" SelectedItem="{Binding SelectedCase, Mode=TwoWay}" HorizontalAlignment="Center" VerticalAlignment="Top" SnapsToDevicePixels="True"> 

      <ListBox.ItemsPanel> 
       <ItemsPanelTemplate> 
        <UniformGrid Columns="{Binding Size}"/> 
       </ItemsPanelTemplate> 
      </ListBox.ItemsPanel> 

      <ListBox.ItemContainerStyle> 
       <Style TargetType="ListBoxItem"> 
        <Setter Property="Padding" Value="0"/> 
       </Style> 
      </ListBox.ItemContainerStyle> 

      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid > 
         <Ellipse Fill="{Binding Color}" Width="50" Height="50" Visibility="{Binding HasPawn, Converter={StaticResource bool2visibility}}"/>       
         ... 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

     <Label Content="VICTORY" HorizontalAlignment="Center" VerticalAlignment="Center" /> <!-- How can this go over the list box ? --> 
    </Grid> 
</DockPanel> 
Verwandte Themen