2012-09-21 62 views
1

我有一个扩展器,其中包含一个网格,其中有一个网格分离器。扩展器内部的GridSplitter扩展超出高度

文档大纲和UI是这样

enter image description here

这里是代码。

<Grid x:Name="TopGrid" ShowGridLines="True" > 
<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" MaxHeight="150"/> 
    <RowDefinition Height="200" /> 
</Grid.RowDefinitions> 
<Expander x:Name="CompanyDescriptionExpander" Grid.ColumnSpan="2" 
      VerticalAlignment="Top" IsExpanded="True" Background="Black" > 
    <Expander.Header> 
    <Grid Width="{Binding ElementName=CompanyDescriptionExpander, 
         Path=ActualWidth}" Background="Aquamarine"> 
    <TextBlock Grid.Column="0" Text="Expander Header" Foreground="Black" /> 
    </Grid> 
    </Expander.Header> 
    <Expander.Content> 
    <Grid x:Name="DescriptionGrid" MaxHeight="130" ShowGridLines="True"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" MinHeight="25" MaxHeight="25"/> 
     <RowDefinition Height="Auto" MinHeight="25" MaxHeight="120"/> 
     <RowDefinition Height="4" MinHeight="10" MaxHeight="10"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 
    <TextBox Grid.Column="0" Background="Orange" Grid.Row="0" Grid.RowSpan="2" 
       MinHeight="40" MaxHeight="120" x:Name="DescriptionText" 
       Text="TextBlock Content" HorizontalAlignment="Stretch" 
       VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" 
       VerticalContentAlignment="Top" 
       HorizontalScrollBarVisibility="Hidden" 
       VerticalScrollBarVisibility="Auto" /> 
    <Button x:Name="SaveIconButton" Grid.Column="1" Grid.Row="0" Width="20" 
      Height="20" VerticalAlignment="Top" /> 
    <Button x:Name="CancelIconButton" Grid.Column="1" Grid.Row="1" Width="20" 
      Height="20" VerticalAlignment="Top" /> 
    <GridSplitter ResizeBehavior="PreviousAndCurrent" ResizeDirection="Rows" 
        Grid.Row="2" Grid.ColumnSpan="2" 
        Height="10" MaxHeight="10" HorizontalAlignment="Stretch" 
        VerticalAlignment="Top" Background="Red" /> 
    </Grid> 
    </Expander.Content> 
</Expander> 
<Button Grid.Row="1" Grid.Column="0" Margin="0,5,0,0" Height="20" 
     VerticalAlignment="Top" Background="Green" /> 
</Grid> 

当我们使用电网分离器它扩展

enter image description here

但它的推移甚至后的文本框达到其最大高度和gridsplitter去后面按钮(绿色)。

我的问题情景,可以复制拷贝我的代码项目中的

enter image description here

我想,当文本框达到最大高度,应立即停止。

如何做到这一点?

回答

2

在你DescriptionGrid改变从120第二排MaxHeight至95

三行合并最大高度在网超过电网本身的最大高度。