que va a ser lío, no importa de qué lado es abordado. Yo diría que su mejor opción (siempre que el contenido de sus celdas de cuadrícula no esté envuelto) es usar un pincel visual (con líneas) como fondo de su DataGrid.
ACTUALIZACIÓN 1 - XAML Está ahí, el truco es usar MinHeight, que producirá una visión de elementos en blanco gracias al fondo de mosaico. Si su cuadrícula se completará con los datos reales, el fondo se expandirá y generará más líneas.
Una cosa que no me trato es cómo va a manejar el desplazamiento.
He aquí un ejemplo:
<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>
¿Qué tal si solo agregas elementos vacíos a tu colección si el 'Conteo 'de la colección es menor que 10? –
Eso es lo que dije, siempre tengo que comprobar cuántas filas reales hay, y agregar o eliminar las filas vacías. Esperaba que hubiera un enfoque más inteligente o incorporado. – SpeziFish
¿Por qué necesita eliminar filas? Además, no es necesario sobrescribir los existentes, simplemente vuelva a enlazar toda la colección si la próxima vez que el recuento es mayor que 10. –