组合扩展器和网格(从右到左切换)

Combine expander and grid (switched right-to-left)

我想创建一个可调整大小的扩展器控件,如 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>

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

有什么想法吗?

如果我设置 Width="*" 而不是 Width="5",我可以使 GridSplitter 向左适当调整大小。

<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>