网格边框/单元格之间的间隙

Luk*_*uke 4 c# wpf grid xaml cells

我创建了一个ControlTemplate包含Grid两行的.

遗憾的是,细胞之间似乎存在单个像素间隙.

如何消除差距?

这是显示差距的屏幕截图:

细胞之间的差距

......这是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>
Run Code Online (Sandbox Code Playgroud)

Bil*_*hmi 7

只需在模板网格中添加SnapsToDevicePixels ="True"即可

<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>
Run Code Online (Sandbox Code Playgroud)