使用空行填充DataGrid

Spe*_*ish 6 wpf datagrid

我有一个DataGrid必然的DataTable.我希望DataGrid总是至少有十(空)行,如果没有足够的真实数据项(数据一点一点地进入).
例

一种方法是DataTable在初始化时轻松添加十个空行.但是当一个真正的数据项进来时,我无法轻松添加该行,我必须找到第一个空行来覆盖它,这不是很方便.
那么有人知道更智能/内置的方法来实现这一目标吗?

小智 0

无论从哪一边接近,都会变得一团糟。我想说你最好的选择(假设你的网格单元内容不会被包装)是使用可视画笔(带线条)作为 DataGrid 的背景。

更新 1 - XAML 它始终存在,技巧是使用 MinHeight,由于平铺背景,它将产生空白项目的视觉效果。如果您的网格将填充真实数据,则背景将扩展,呈现更多线条。

我没有尝试的一件事是它如何处理滚动。

这是一个例子:

<Grid>
    <Grid.Resources>
        <VisualBrush x:Key="StripesBrush" TileMode="Tile" Viewport="0,0,5,20"
               Viewbox="0,0,10,10" ViewportUnits="Absolute" 
               ViewboxUnits="Absolute">
            <VisualBrush.Visual>
                <Line X1="0" X2="10000" Y1="0" Y2="0" Stroke="DarkGray"/>
            </VisualBrush.Visual>
        </VisualBrush>
    </Grid.Resources>
    <DataGrid x:Name="g" AutoGenerateColumns="False" 
              GridLinesVisibility="None" 
              MinHeight="100"
              Height="100"
              VerticalAlignment="Top"
              Background="{StaticResource StripesBrush}">

        <DataGrid.Columns>
            <DataGridTextColumn Header="A" Width="Auto" Binding="{Binding Item1}">
                <DataGridTextColumn.CellStyle>
                    <Style TargetType="DataGridCell">
                        <Setter Property="Background" Value="Transparent"></Setter>
                    </Style>
                </DataGridTextColumn.CellStyle>
            </DataGridTextColumn>
            <DataGridTextColumn Header="B" Width="Auto" Binding="{Binding Item2}" />
        </DataGrid.Columns>
    </DataGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)