GridSplitter 不工作

GridSplitter not working

正在尝试使用 GridSplitter,但它不起作用。将拆分器向左拖动可以,向右拖动则没有任何效果。我认为正确的网格是问题所在。但我不确定。请给我一些建议。

这是我的代码:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="100"/>
        <RowDefinition Height="{DynamicResource DefaultMargin}"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition MinWidth="100"/>
        <ColumnDefinition x:Name="columnDefinition_One" Width="{DynamicResource DefaultMargin}"/>
        <ColumnDefinition x:Name="columnDefinition_Two" MinWidth="230" Width="{Binding ActualWidth, ElementName=Element1}"/>
    </Grid.ColumnDefinitions>
    <Grid x:Name="Layout" Grid.Row="2" Grid.Column="0">

    </Grid>
    <GridSplitter x:Name="gridSplitter" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ResizeDirection="Columns" ResizeBehavior="PreviousAndNext" Grid.Column="1" Grid.Row="2" Background="{StaticResource DarkGray}" />
    <Grid x:Name="grid_MonitoringView" Grid.Row="2" Grid.Column="2" Style="{DynamicResource DefaultPanel}" HorizontalAlignment="Stretch">
    <Border>
        <view1:ViewExample x:Name="viewExample"/>
    </Border>
    </Grid>
</Grid>

GridSplitter 不能将列宽减小到小于其 MinWidth 值。

如果最大化 window,您会发现效果很好 或者为了演示尝试删除 MinWidth 值:

<ColumnDefinition />
<ColumnDefinition x:Name="columnDefinition_One" Width="50"/>
<ColumnDefinition x:Name="columnDefinition_Two"/>

我将您的代码复制到我的演示项目中,对我来说效果很好。 @lomed 发现您的 MinWidth 值可能不正确,我也同意这一点。但是你说你的'grid_MonitoringView'没有受到影响

你注意到我的右边框布局正确了吗?所以真正的问题是ViewExampleclass。您的 ViewExample 的布局值不正确,例如 MinWidth 或内部具有更大布局宽度的其他视觉对象。