2011-03-14 5 views
1

J'ai un DockPanel avec deux Grilles (DockPanel.Dock = "Droite/Gauche"). Dans la gauche j'ai un TreeView et dans la droite j'ai quelques TextBoxes. Si je redimensionne ma fenêtre les panneaux redimensionnent proportinal.Redimensionnement DockPanel et saut de ligne TextBox

Mon problème est, si j'écris un texte long dans un TextBox le TextBox agrandir et masquer mon DockPanel gauche au lieu d'une rupture du texte.

J'ai défini la minwidth du DockPanel gauche sur '300' et positionné TextWrapping dans les TextBoxes sur 'wrap' mais rien n'y fait.

Source:

<Grid Background="#FF58ACFC" Name="main"> 
    <DockPanel> 
     <Grid DockPanel.Dock="Right" Margin="0,0,5,0"> 

      <Grid.ColumnDefinitions> 
       <ColumnDefinition MinWidth="200" />      
      </Grid.ColumnDefinitions> 

      <Grid.RowDefinitions> 
       <RowDefinition Height="26"/> 
       <RowDefinition Height="26"/> 
       <RowDefinition Height="26"/> 
       <RowDefinition Height="60" /> 
       <RowDefinition Height="26"/> 
       <RowDefinition /> 
      </Grid.RowDefinitions> 

      <Label Content="Titel:" Grid.Row="0"/> 
      <TextBox Grid.Row="1" IsReadOnly="False"> 

      <Label Content="Frage:" Grid.Row="2"/> 
      <TextBox Grid.Row="3" TextWrapping="Wrap" IsReadOnly="False" AcceptsReturn="True"> 

      <Label Content="Antwort:" Grid.Row="4"/> 
      <TextBox Grid.Row="5" IsReadOnly="False" TextWrapping="Wrap" /> 
     </Grid> 


     <Grid DockPanel.Dock="Left" Margin="5,0,0,0"> 

      <DockPanel> 
       <Grid DockPanel.Dock="Left"> 
        <DockPanel LastChildFill="True"> 
         <Grid DockPanel.Dock="Top" Height="26"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition /> 
           <ColumnDefinition /> 
          </Grid.ColumnDefinitions> 
          <Label Content="Kategorie" Grid.Column="0"/> 
          <Button Grid.Column="1" BorderThickness="0" HorizontalAlignment="Right"> 
         </Grid> 

         <TreeView HorizontalAlignment="Stretch" VerticalAlignment="Stretch"Padding="0,0,15,0" /> 
        </DockPanel> 
       </Grid> 

       <Grid DockPanel.Dock="Right"> 
        <DockPanel LastChildFill="True"> 

         <Grid DockPanel.Dock="Top" Height="26"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition /> 
           <ColumnDefinition /> 
          </Grid.ColumnDefinitions> 

          <Label Content="Lernkarten" Grid.Column="0"/> 
          <Button Grid.Column="1" Width="26" Click="ButtonAddItem_Click"> 
         </Grid> 

         <ListView /> 
        </DockPanel> 
       </Grid> 
      </DockPanel> 
     </Grid> 
    </DockPanel> 
</Grid> 
+4

Fournir un XAML aiderait ici. – Snowbear

+0

J'aimerais aussi voir un exemple de code xaml. – bic

Répondre

2

C'est à peu près pourquoi Dockpanels sont :-) inutiles

Je suggère d'utiliser la grille ..

+0

enlever le dockpanel fonctionne comme un carme :-) – jwillmer

Questions connexes