2011-04-05 66 views
15

我想有一个像可调整大小的膨胀机。我的基本想法是这样的:联合膨胀机和电网(可调整大小的膨胀机)

<Grid HorizontalAlignment="Left"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="2" /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <Expander Grid.Column="0" ExpandDirection="Right"> 
      ... 
    </Expander> 

    <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" /> 

    ... 
</Grid> 

与此问题:如果我将电网分离器和塌陷扩展我有一个大的空白区域。如何使整个列崩溃?还是有另一种方法,使扩张“调整大小”

+0

我有同样的问题,这是[我的解决方案] [1] [1]:http://stackoverflow.com/a/31027745/2219089 – Bashnia007 2015-06-24 13:22:51

回答

19

不确定你要的是什么完成但我认为Grid应该是Expander.Content的一部分,这会对你有用吗?

<Expander Header="Test" ExpandDirection="Right" HorizontalAlignment="Left" Background="LightBlue"> 
    <Expander.Content> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto"/> 
       <ColumnDefinition Width="5"/> 
      </Grid.ColumnDefinitions> 
      <TextBlock Text="Lorem ipsum dolor sit"/> 
      <GridSplitter Grid.Column="1" Width="5" ResizeBehavior="PreviousAndCurrent" ResizeDirection="Columns"/> 
     </Grid> 
    </Expander.Content> 
</Expander> 

编辑:删除所有从第一列中的触发,因为它似乎是不必要的。

另外:对于这项工作垂直的GridSplitter的HorizontalAlignment必须设置为Stretch,否则将具有零宽度在默认情况下(当然,其他一切是定向特定需要以及适应那不过是简单的)

Horizo​​ntalAlignment是Microsoft .NET属性访问器,实际上是一种依赖项属性。这种特定的依赖性属性经常在子类化元素中有明显的“默认”值设置,特别是控件。 [...]例如,即使Label从FrameworkElement直接继承Horizo​​ntalAlignment,Label控件的Horizo​​ntalAlignment的明显“默认”也将为Left。这是因为该值在样式控件模板中的默认样式Label中重置。

+0

太好了,这正是我需要的! – SACO 2011-04-06 08:15:10

+0

对于我的生活,我不能像这样水平工作! – DaveO 2011-05-04 03:03:50

+0

@DaveO:在答案中看到我的记录。 – 2011-05-04 08:09:28

1

也许这将帮助您解决“一栏崩溃”问题

XAML:

添加在<Grid>Name="expGrid"并添加<Expander>Collapsed="Expander_Collapsed"

C#代码:

private void Expander_Collapsed(object sender, RoutedEventArgs e) 
{ 
    var colomnIndex = Grid.GetColumn(sender as Expander); 
    var colomn = expGrid.ColumnDefinitions[colomnIndex]; 
    colomn.Width = GridLength.Auto; 
} 
+0

我想解决这个问题,无需额外的代码。 – SACO 2011-04-06 08:15:49