自定义网格在WPF网格中调整大小

时间:2013-05-16 22:03:53

标签: c# wpf datagrid resize grid

我正在使用this DataGrid(只不过是DataGrid更多的东西)。我希望能够垂直调整网格的大小,而不是其行或列的大小。在我附加的图像中,您可以看到窗口的第一行和底部之间有一个巨大的空白区域。我需要的是当鼠标悬停在网格顶部(网格标题的顶角某处)时,有一个调整大小的光标。调整大小时,网格中元素的大小不需要更改,只需要更改网格的总高度。

此外,网格应始终的最大高度仅为“添加事件”按钮。

换句话说,我希望用户能够做到这一点:

enter image description here

对此:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以尝试使用GridSplitter。我假设您有Grid布局,如下所示:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50" /> // This is where the button lives
        <RowDefinition Height="*" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>    
        <DataGrid x:Name="MyGrid" Grid.Row="1" Grid.RowSpan="1" />
</Grid>

如果您在第一行添加GridSplitter,您将获得所需的效果:

<GridSplitter 
        ResizeDirection=”Rows”
        Grid.Row=”1″ 
        Width=”Auto”
        Height=”3″
        HorizontalAlignment=”Stretch”
        VerticalAlignment=”Stretch”
        Margin=”0″/>