5

我想从下面的问题中获得扩展器(请参阅已接受的答案),这对我来说是一个完美的解决方案。我只想把它放在右边。

组合扩展器和网格(可调整大小的扩展器)

为了让它从右向左扩展,我更改了类似行为的设置。(我强调了一些元素以更好地了解正在发生的事情):

<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 保持不变。

4

1 回答 1

10

试试这样:

<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>
于 2012-01-13T13:22:05.730 回答