У меня есть Grid с двумя столбцами, разделенными GridSplitter, используя следующий код XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" MinWidth="20" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" MinWidth="100" />
</Grid.ColumnDefinitions>
<Rectangle Fill="Blue" />
<GridSplitter Grid.Column="1" Background="LightGray" HorizontalAlignment="Stretch" />
<Rectangle Fill="Yellow" Grid.Column="2" />
</Grid>
Задача:MinWidth столбца справа игнорируется
*Я знаю, что это уже обсуждалось ранее, но всегда предлагается установить размер столбца на *или установить maxWidth для первого столбца... Я этого не хочу.
Решение найдено, , но оно УЖАСНОЕ! :p , у кого-нибудь есть более чистый способ добиться того, что я хочу... БЕЗ КОДОВ (если возможно )?
private void Grid_SizeChanged(object sender, SizeChangedEventArgs e)
{
var g = (Grid)sender;
Double maxW = e.NewSize.Width - g.ColumnDefinitions[2].MinWidth - g.ColumnDefinitions[1].ActualWidth;
g.ColumnDefinitions[0].MaxWidth = maxW;
}