2011-04-05 42 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