Grid Border / Gap between cells

c#, cells, grid, wpf, xaml

Solution

Just add SnapsToDevicePixels="True" in your template grid

<ControlTemplate TargetType="Button" x:Key="ButtonTemplate">
                <Grid Width="444" Margin="0" ShowGridLines="False" SnapsToDevicePixels="True">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="51" />
                        <RowDefinition Height="36" />
                    </Grid.RowDefinitions>
                    <Grid Grid.Row="0" Background="#286c97">
                        <TextBlock>This is the first piece of text</TextBlock>
                    </Grid>
                    <Grid Grid.Row="1" Background="#5898c0">
                        <ContentPresenter Grid.Row="0" />
                    </Grid>
                </Grid>
            </ControlTemplate>

Problem

I've created a `ControlTemplate` that contains a `Grid` with two rows. Sadly, there appears to be a single pixel gap between the cells. How do I remove the gap? Here's a screenshot showing the gap: ...and here's the XAML: ``` <Window x:Class="MAQButtonTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="695" Width="996"> <Window.Resources> <Style TargetType="TextBlock"> <Setter Property="OverridesDefaultStyle" Value="True"/> </Style> <ControlTemplate TargetType="Button" x:Key="ButtonTemplate"> <Grid Width="444" Margin="0" ShowGridLines="False"> <Grid.RowDefinitions> <RowDefinition Height="51" /> <RowDefinition Height="36" /> </Grid.RowDefinitions> <Grid Grid.Row="0" Background="#286c97"> <TextBlock>This is the first piece of text</TextBlock> </Grid> <Grid Grid.Row="1" Background="#5898c0"> <ContentPresenter Grid.Row="0" /> </Grid> </Grid> </ControlTemplate> </Window.Resources> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="300" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid Grid.Column="0" Background="#e9f1f6"></Grid> <Grid Grid.Column="1" Background="#d2e3ed"> <StackPanel> <TextBlock FontFamily="Segoe UI" FontSize="22" FontWeight="Medium" Margin="52,58,0,0" Foreground="#0c3d5d">Your Quizzes <TextBlock FontFamily="Segoe UI" FontSize="18" FontWeight="Medium" Foreground="#0c3d5d">(7)</TextBlock></TextBlock> <Grid Margin="0,20,0,0"> <Button Width="444" Background="{x:Null}" BorderThickness="0" Template="{StaticResource ButtonTemplate}" Click="DoSomething" BorderBrush="#032135"> <TextBlock Margin="6,2.8,0,0" FontFamily="Segoe UI" FontSize="19" Foreground="#032135" FontWeight="Medium">This is a second piece of text</TextBlock> </Button> </Grid> </StackPanel> </Grid> </Grid> </Window> ```

Original source