Объединить расширитель и сетку (переключается справа налево) - PullRequest
0 голосов
/ 14 мая 2018

Я хочу создать элемент управления экспандером с изменяемым размером, как описано в Объединить расширитель и сетку (расширитель с изменяемым размером) . Это решение работает отлично, но мне нужно, чтобы оно было перевернуто горизонтально (расширитель выровнен по правому краю и расширен по левому краю).

Чтобы сделать это, я обернул все, что мне показалось необходимым, но я не могу заставить его работать: при перетаскивании изменяется только столбец, содержащий 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 голосов
/ 14 мая 2018

Я могу изменить размер GridSplitter влево, если я установлю 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>
...