1

我有一个 WPF 数据网格,并希望它的高度等于它的行 + 标题的高度之和。

即,如果我的数据网格标题是 100 像素并且我有 4 行,每个 50 像素的高度,我的数据网格的总高度应该是 300 像素。

有没有一种方法可以声明性地指定高度应该与其内容的总和相匹配?

4

1 回答 1

4

你能粘贴你的代码吗?因为您所要求的可以通过将 DataGrid 放入面板中简单地实现,这不会限制其大小并将其精确地安排在所需的控件大小内。

换句话说,您可以将它垂直放置在 StackPanel 中,就是这样:

<Window x:Class="WpfApplication5.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dg="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
        Title="Grid Sample"
        Height="300"
        Width="300">
  <StackPanel>
    <dg:DataGrid ItemsSource="{Binding}">
      <dg:DataGrid.Columns>
        <dg:DataGridTextColumn Header="No."
                               Width="SizeToCells"
                               Binding="{Binding CheckNumber}"
                               IsReadOnly="True" />
        <dg:DataGridTextColumn Header="Date"
                               Binding="{Binding Date, StringFormat=d}" />
        <dg:DataGridTextColumn Header="Pay To"
                               MinWidth="200"
                               Binding="{Binding Recipient}"
                               CanUserSort="False" />
      </dg:DataGrid.Columns>
    </dg:DataGrid>
  </StackPanel>
</Window>
于 2009-09-02T15:22:44.523 回答