【问题标题】:Custom grid resize in WPF gridWPF网格中的自定义网格调整大小
【发布时间】:2013-05-11 23:36:57
【问题描述】:

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

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

换句话说,我希望用户能够从此:

到这里:

【问题讨论】:

  • 我认为您的术语都混淆了,要么是那个,要么是我的头脑。老实说,我真的不明白这个问题。从用户的角度来看,这也没有多大意义。您是否使用 VerticalAlignment="Stretch" 属性或使用 GridSplitter 进行过调查?
  • @Jammer 希望我的最后一次编辑有所帮助

标签: c# wpf datagrid resize grid


【解决方案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″/>

【讨论】:

  • 网格完全是在代码中构建的,而不是在XAML中。您能否提供您的XAML 的代码版本?
  • 您是否有特定的原因在代码中构造它而不是使用 XAML?
猜你喜欢
  • 2012-06-24
  • 2012-07-03
  • 2011-01-07
  • 2018-06-05
  • 2017-02-26
  • 2012-12-22
  • 1970-01-01
  • 2017-01-24
  • 1970-01-01
相关资源
最近更新 更多