I know its a bit late, but I found your question and programmed a pure-XAML solution.
<ColumnDefinition Width="42*" MinWidth="{Binding Path=ActualWidth, ElementName=projectInfoHeader }"/>
Where the ElementName
points to the control taking up most of the space. Of course thats only possible to do with elements, that do have a limited width.
If you do it for example for a GroupBox
, than you can resize only to larger width and never resize to smaller one.
If you have several candidates for the value of MinWidth
, you need to write yourself a IMultiValueConverter
, which takes an object[], parses it to floats, and returns the maximum (its just 1 linq query if you use it only yourselves and don’t need to handle bad usage of the converter)
This way also supports dynamic changing of the MinWidth
.