我使用 WPF 和一些第三方控件(Telerik)有以下网格:
<Grid x:Name="grid2" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="150"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*" MinWidth='80'/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="26"/>
<RowDefinition/>
</Grid.RowDefinitions>
<telerik:RadBreadcrumb Grid.ColumnSpan="3" Header="RadBreadcrumb"/>
<telerik:RadTreeView Grid.Row="1"/>
</Grid>
<GridSplitter Grid.Column="1" HorizontalAlignment="Center" Width="5" Height="auto"/>
<telerik:RadTransitionControl x:Name="Trans" Grid.Column="2" Width="auto"/>
</Grid>
目前我正在尝试使第 0 列(左侧)中的网格在重新调整窗口大小时不会重新调整大小。我可以通过将列“0”的宽度设置为静态 150 或自动来实现此效果。但是,当我这样做时,网格拆分器不再尊重第 2 列的最小宽度,并允许它拖出屏幕。通过将第 0 列和第 2 列都设置为星形宽度(我现在在代码中的方式),最小宽度得到尊重(列不能缩小到定义的 150 和 80),但它们不会重新调整大小正确(左列按右列的比例重新调整大小)。我想以某种方式让调整大小和网格分割器同时工作。如果我不够清楚或需要更多输入,请告诉我。