结合扩展器和网格(从右向左切换)

时间:2018-05-14 09:08:31

标签: wpf xaml grid expander gridsplitter

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

最终目标是扩展后扩展程序的内容可以调整大小。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果我设置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>