В знакомой ситуации, например,
<Grid.ColumnDefinitions>
<ColumnDefinitions Width="Auto"/>
<ColumnDefinitions Width="12"/>
<ColumnDefinitions Width="*"/>
</Grid.ColumnDefinitions>
С разветвителем посередине,
<GridSplitter Grid.Column="1" VerticalAlignment="Stretch"/>
Моя цель:
Автоширина в 1-м столбце предотвращает сплиттерот «вторжения» на него.Поэтому я хотел установить предел для сплиттера, чтобы он не выдвигал 3-й столбец (взвешенная ширина- *) за границы.
Использование IValueConverter для возврата половины ширины Mainwindow в качестве границы,
return (double)value/2;
Пробный (не работает),
<SomeContent Grid.Column="2"
MinWidth="{Binding
RelativeSource={RelativeSource AncestorType=Window},
Path=ActualWidth,
Converter={StaticResource minWidthConverter}}"/>
Также пытался (также нерабочий),
<AnotherContent Grid.Column="0"
MaxWidth="{Binding
RelativeSource={RelativeSource AncestorType=Window},
Path=ActualWidth,
Converter={StaticResource minWidthConverter}}"/>
Наконец (& рабочий ),
<GridSplitter Grid.Column="1" VerticalAlignment="Stretch"
MaxWidth="{Binding
RelativeSource={RelativeSource AncestorType=Window},
Path=ActualWidth,
Converter={StaticResource minWidthConverter}}"/>
Кто бы мог подумать о настройке самого сплиттера = D