WPF工具包 - 使数据网格高度适合内容高度

时间:2009-09-02 14:46:33

标签: .net wpf wpf-controls wpftoolkit

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

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

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

1 个答案:

答案 0 :(得分:3)

你可以粘贴你的代码吗?因为您可以通过将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>