2012-01-13 79 views
4

我想從下面的問題中看到擴展器(請參閱接受的答案),這對我來說是一個完美的解決方案。我只想把它放在右邊。把可調整大小的擴展器從右向左擴展

Combine expander and grid (resizable expander)

,我們將會從右側擴展到離開我改變了設置的analoguous行爲。 (我強調的元素,以更好地看到發生了什麼):

<Expander Grid.Column="1" Header="Test" ExpandDirection="Left" 
     BorderThickness="10" BorderBrush="Black" HorizontalAlignment="Right" > 
    <Expander.Content> 
    <Grid > 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <GridSplitter Grid.Column="0" Width="10" Background="Green" 
        ResizeDirection="Columns" ResizeBehavior="CurrentAndNext" /> 
     <TextBox Grid.Column="1" Text="Lorem ipsum dolor sit" 
      BorderThickness="10" BorderBrush="Red"/> 
    </Grid> 
    </Expander.Content> 
</Expander> 

它會調整從分路離開,當我移動分割到右側的區域。我嘗試了許多其他組合,但它幾乎導致了相同的不需要的行爲。分離器左側的區域有時會發生奇怪的爆炸,但TextBox保持不變。

+0

會發生什麼? – 2012-01-13 09:29:07

+1

不是很明確的問題,試圖把一些圖像,以顯示你想要的plz – 2012-01-13 09:29:26

+0

我只能在10代表後添加圖像。點....通常擴展器的左邊緣移動,但文本框和分離器保持不變。 @丹尼爾:有了這個設置,它根本就不會調整大小。 – 2012-01-13 11:46:19

回答

7

嘗試這樣的:當你使用`PreviousAndCurrent`爲'ResizeBehavior`

<Expander Grid.Column="1" Header="Test" ExpandDirection="Left" 
    BorderThickness="10" BorderBrush="Black" HorizontalAlignment="Right"> 
    <Expander.Content> 
    <Grid> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" MinWidth="10" /> 
     <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <GridSplitter Grid.Column="0" Width="10" Background="Green" 
        ResizeDirection="Columns" ResizeBehavior="CurrentAndNext" /> 
     <TextBox Grid.Column="1" Text="Lorem ipsum dolor sit" 
      BorderThickness="10" BorderBrush="Red"/> 
    </Grid> 
    </Expander.Content> 
</Expander> 
+0

太棒了!我不會認爲它是分離器列中的「星形」寬度。在前面的[問題](http://stackoverflow.com/questions/5553383/combine-expander-and-grid-resizable-expander)網格列有一個固定的寬度。我仍然好奇爲什麼這不起作用 – 2012-01-13 13:56:20