wpf grid gridlines

wpf gridlines-cambiando de estilo



(1)

¿Hay alguna forma de cambiar el estilo de las líneas de cuadrícula en la red de wpf? Necesito dividir la cuadrícula en 4 celdas. Para hacerlo utilicé RowDefinitions y ColumnDefinitions. Sin embargo, necesito que el usuario distinga qué celda es cuál, por eso necesito cambiar el color de las líneas de cuadrícula.


Depende de la mirada que estés buscando. En WPF, hay diferentes maneras de hacer casi cualquier cosa. Aquí hay un par de los más fáciles.

La forma más fácil es establecer ShowGridlines = "True":

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5" ShowGridLines="True"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock Grid.Column="0" Grid.Row="0" Text="(0,0)" /> <TextBlock Grid.Column="1" Grid.Row="0" Text="(1,0)" /> <TextBlock Grid.Column="0" Grid.Row="1" Text="(0,1)" /> <TextBlock Grid.Column="1" Grid.Row="1" Text="(1,0)" /> </Grid>

Eso le da a la rejilla algo como:

También puede usar un rectángulo en cada celda de la cuadrícula para obtener diferentes efectos. Aquí, el relleno es transparente y el trazo es azul:

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Rectangle Grid.Column="0" Grid.Row="0" Stroke="Blue" Fill="Transparent" /> <TextBlock Grid.Column="0" Grid.Row="0" Text="(0,0)" /> <Rectangle Grid.Column="1" Grid.Row="0" Stroke="Blue" Fill="Transparent" /> <TextBlock Grid.Column="1" Grid.Row="0" Text="(1,0)" /> <Rectangle Grid.Column="0" Grid.Row="1" Stroke="Blue" Fill="Transparent" /> <TextBlock Grid.Column="0" Grid.Row="1" Text="(0,1)" /> <Rectangle Grid.Column="1" Grid.Row="1" Stroke="Blue" Fill="Transparent" /> <TextBlock Grid.Column="1" Grid.Row="1" Text="(1,0)" /> </Grid>

Eso produce esto:

Alternativamente, puede llenar los Rectángulos y no darles un Trazo:

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Rectangle Grid.Column="0" Grid.Row="0" Fill="LightBlue" /> <TextBlock Grid.Column="0" Grid.Row="0" Text="(0,0)" /> <Rectangle Grid.Column="1" Grid.Row="0" Fill="LightYellow" /> <TextBlock Grid.Column="1" Grid.Row="0" Text="(1,0)" /> <Rectangle Grid.Column="0" Grid.Row="1" Fill="LightYellow" /> <TextBlock Grid.Column="0" Grid.Row="1" Text="(0,1)" /> <Rectangle Grid.Column="1" Grid.Row="1" Fill="LightBlue" /> <TextBlock Grid.Column="1" Grid.Row="1" Text="(1,0)" /> </Grid>

Eso puede, por ejemplo, dar un patrón de tablero de ajedrez:

Esta no es de ninguna manera una respuesta completa, probablemente podrías llenar un libro. Estaba destinado a mostrar que hay muchas formas de hacer lo que está pidiendo, y que hay algunas soluciones bastante rápidas y fáciles, si eso es todo lo que necesita.