我有一个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)
| 归档时间: |
|
| 查看次数: |
4178 次 |
| 最近记录: |