2013-08-06 15 views
5

Sono davvero confuso perché alcune delle mie caselle di testo e dei pulsanti sono state tagliate, qualcuno potrebbe aiutarmi a risolvere il problema? Grazie!!

wpf: pulsanti, caselle di testo, interruzione

XAML CODICE

<Grid> 
     <TabControl> 
      <TabItem Name="tabHome"> 
       <TabItem.Header> 
        <Label Content="Home" MouseLeftButtonDown="tabHome_Click"/> 
       </TabItem.Header> 
       <Grid> 
        <Button Content="Parse" Height="23" x:Name="btn_parse" Width="75" Click="buttonParse_Click" Margin="180,10,180,176"/> 
        <TextBox IsReadOnly="True" x:Name="txtbox_filepath" Height="25" Width="135" Margin="151,52,150,132" /> 
        <Button Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="180,122,180,64" Click="buttonReset_Click"/> 
       </Grid> 
      </TabItem> 
      <TabItem Name="tabConfig"> 
       <TabItem.Header> 
       <Label Content="Configuration" MouseLeftButtonDown="tabConfig_Click"/> 
       </TabItem.Header> 
       <ScrollViewer> 
        <StackPanel Name="panelConfig"> 
        </StackPanel> 
       </ScrollViewer> 
      </TabItem> 
<Grid> 

Schermata

screenshot

Come si può vedere il pulsante e la casella di testo è tagliato fuori negli angoli.
Grazie per l'aiuto lo apprezzo.

risposta

8

Quando si assegna un valore di Margine come questo Margin="180,10,180,176" significa che il controllo deve essere posizionato di 180 dip da sinistra e 10 dip dall'alto, 180 da destra e 176 dal basso con riferimento al controllo genitore. I tuoi controlli sono stati tagliati a causa dei valori di Margine elevati.

enter image description here

Nota: dip - dispositivo pixel indipendenti.

È preferibile creare RowDefinitions per Grid e posizionare i controlli in righe separate con un valore di margine ragionevole come mostrato di seguito.

<Grid> 
    <TabControl> 
     <TabItem Name="tabHome"> 
      <TabItem.Header> 
       <Label Content="Home"/> 
      </TabItem.Header> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
       </Grid.RowDefinitions> 
       <Button Grid.Row="0" Content="Parse" Height="23" x:Name="btn_parse" Width="75" Margin="10" /> 
       <TextBox Grid.Row="1" IsReadOnly="True" x:Name="txtbox_filepath" Height="25" Width="135" Margin="10" /> 
       <Button Grid.Row="2" Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="10"/> 
      </Grid> 
     </TabItem> 
     <TabItem Name="tabConfig"> 
      <TabItem.Header> 
       <Label Content="Configuration"/> 
      </TabItem.Header> 
      <ScrollViewer> 
       <StackPanel Name="panelConfig"> 
       </StackPanel> 
      </ScrollViewer> 
     </TabItem> 
    </TabControl> 
</Grid> 
+0

Grazie, ho accettato il tuo suggerimento e ora come farei a spaziatura tra i miei pulsanti e le caselle di testo? – AustinT

+0

Fornire un valore di Margine ragionevole come 5 o 10. Controllare la mia risposta aggiornata. –

+0

grazie! Apprezzo la tua assistenza! – AustinT

0

Rimuovi le proprietà Height, Width e Margin.

Non utilizzare la finestra di progettazione di Visual Studio per creare UI WPF.

Date un'occhiata a http://wpftutorial.net/LayoutProperties.html

+0

@ReedCopsey Questo è esattamente quello di cui sto parlando. –

3

Si sta impostando in modo esplicito un Height e Width per i pulsanti, ma i valori in uso sono troppo piccoli.

Se li si lascia fuori, il pulsante dovrebbe visualizzare correttamente:

<Button Content="Parse" x:Name="btn_parse" Click="buttonParse_Click" Margin="180,10,180,176"/> 
<Button Content="Reset" x:Name="btn_reset" Margin="180,122,180,64" Click="buttonReset_Click"/> 

Nota che si può fare un lavoro migliore del layout, se si progetta da soli utilizzando un Grid o altro contenitore invece di utilizzare Margin, anche.

Problemi correlati