2011-03-14 109 views
1

我有一个DockPanel有两个网格(DockPanel.Dock =“右/左”)。在左边我有一个TreeView,在右边有一些文本框。如果我调整我的窗口大小调整proportinal。DockPanel调整大小和TextBox的换行

我的问题是,如果我在文本框中编写长文本文本框放大并隐藏我的左侧DockPanel而不是中断文本。

我已经将左侧DockPanel的最小宽度设置为'300',并将文本框中的TextWrapping设置为'换行',但没有任何帮助。

来源:

<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

提供一个XAML将有助于在这里。 – Snowbear 2011-03-14 18:08:36

+0

我希望看到一个示例xaml代码。 – bic 2011-03-14 18:23:49

回答

2

这几乎是为什么Dockpanels是无用的:-)

我建议使用电网..

+0

卸下卡座的工作方式就像一个carme :-) – jwillmer 2011-03-14 19:35:24