Gridsplitter игнорирует минимальную ширину столбцов

Я хочу иметь простую сетку из 3 столбцов с изменяемыми размерами столбцов и MinWidth равным 80.

Код выглядит так:

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="120" MinWidth="80"/>
    <ColumnDefinition Width="Auto"/>
    <ColumnDefinition Width="*" MinWidth="80"/>
    <ColumnDefinition Width="Auto"/>
    <ColumnDefinition Width="120" MinWidth="80"/>
  </Grid.ColumnDefinitions>
  <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Center" />
  <GridSplitter Grid.Column="3" Width="5" HorizontalAlignment="Center" />
</Grid>

Но это не так. t работать так, как я хочу и ожидал. Когда сплиттеры сдвинуты влево, все работает нормально. Когда второй разветвитель сдвинут вправо, все работает нормально. Но если первый разделитель сдвинуть вправо, он вытолкнет 3-й столбец и второй разделитель из сетки (или сделает их ширину = 0).

Я использовал отдельные столбцы для разделителей сетки, как это было сделано в Пример msdn:

<Grid.ColumnDefinitions>
  <ColumnDefinition/>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition/>
</Grid.ColumnDefinitions>
...
<GridSplitter Grid.Column="1"
      HorizontalAlignment="Center"
      VerticalAlignment="Stretch"
      Background="Black" 
      ShowsPreview="True"
      Width="5"
      />

Я также установил выравнивание по центру, так как где-то читал, что выравнивание по правому краю может быть проблемой и пробовал разные ResizeBehaviors.

Кто-нибудь знает, как исправить эту проблему, чтобы все время были видны 3 столбца с шириной не менее 80 пикселей?

Спасибо за любую помощь

11
задан Marks 31 August 2010 в 14:00
поделиться