首页 > 解决方案 > 组合扩展器和网格(从右到左切换)

问题描述

我想创建一个可调整大小的扩展器控件,如Combine expander and grid (resizable expander)中所述。该解决方案运行良好,但我需要将其水平翻转(扩展器向右对齐并向左扩展)。

为了做到这一点,我把我认为需要的所有东西都转了过来,但我似乎无法让它工作:只有包含 GridSplitter 的列在拖动时会调整大小。

这是我在 KAXAML 中尝试过的:

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

最终目标是使扩展器的内容在扩展后可调整大小。

有任何想法吗?

标签: wpfxamlgridexpandergridsplitter

解决方案


如果我设置Width="*"而不是Width="5".

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

推荐阅读