Я пытаюсь построить макет из двух столбцов, в котором ширина столбцов может быть изменена с помощью сплиттера. Ширина правого столбца не должна изменяться при изменении размера окна браузера (она не должна быть пропорциональна ширине сетки). Оба столбца должны иметь минимальную ширину. Если окно браузера слишком узкое для отображения обоих столбцов, должна появиться полоса прокрутки.
Это мой XAML:
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
<Grid Height="200" Margin="0,0,0,0" MinWidth="400" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="300" Width="300*" />
<ColumnDefinition Width="10" />
<ColumnDefinition MinWidth="100" Width="100"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Background="Red" x:Name="LeftColumn"></Grid>
<sdk:GridSplitter Grid.Column="1" HorizontalAlignment="Center" Width="10" Background="Black" />
<Grid Grid.Column="2" Background="Green" x:Name="RightColumn"></Grid>
</Grid>
</ScrollViewer>
</Grid>
У меня проблема в том, что сплиттер перетаскивается влево и достигается минимальная ширина левого столбца - правый столбец начинает очень быстро расти и появляется полоса прокрутки. Удаление параметра ширины из правого столбца устраняет странное поведение, но теперь правый столбец начинает пропорционально увеличиваться при изменении размера окна ...
Я бы хотел, чтобы сплиттер вел себя так же, как при его перетаскивании вправо - я бы хотел, чтобы он остановился после достижения минимальной ширины.