2012-10-30 10 views
9

Ho un pannello dock, con un'etichetta al centro e un altro pulsante all'estrema destra.Allinea l'etichetta al centro del pannello del dock

A causa del pulsante, l'etichetta non può essere allineata al centro quando le finestre sono ingrandite.

WPF:

<DockPanel Height="40" HorizontalAlignment="Stretch" Margin="-1,-2,0,0" Name="dockPanel1" VerticalAlignment="Stretch" Width="Auto" OpacityMask="{x:Null}"> 
      <Label FontSize="18" Content="Sales" FontWeight="Bold" FontFamily="Arial" Width="883" Height="42" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Foreground="White" DockPanel.Dock="Left" VerticalAlignment="Center" VerticalContentAlignment="Center"></Label> 
      <Button FontSize="18" Height="47" Width="123" Name="btnStart" Foreground="White" BorderBrush="{x:Null}" FlowDirection="LeftToRight" HorizontalContentAlignment="Center" FontFamily="Arial Rounded MT" ClickMode="Press" DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="0" Content="Start" BorderThickness="0" Focusable="False"> 
     </DockPanel> 
+3

DockPanel non è il contenitore giusto per questo –

+1

hai provato a fare una griglia a tre colonne e mettere l'etichetta al centro della colonna centrale, e il pulsante a destra della colonna di destra? – paul

+0

mi piace la tua soluzione paul. Ovviamente DockPanel non ha il controllo giusto per questo, ma non è la risposta giusta. Potrebbe non essere un'opzione per sostituirlo. –

risposta

17

Utilizzare un Grid invece di un DockPanel

di griglia che oggetti da collocare sopra l'altro, in modo da poter posizionare il Label in mezzo e il pulsante sul Proprio

<Grid> 
    <Label HorizontalAlignment="Center" VerticalAlignment="Center" /> 
    <Button HorizontalAlignment="Right" /> 
</Grid> 

anche se sei un nuovo layout di WPF, io consiglierei la lettura attraverso WPF Layouts: A Quick Visual Start in modo da sapere cosa ci fosse out sono disponibili e può scegliere il migliore per la tua sitaution

Problemi correlati