可调整大小的WPF网格根据实际大小在行和列之间插入空行

时间:2010-01-26 22:08:37

标签: wpf xaml grid resize

我有Grid个显示矩形。 Grid可以调整大小,并且应该显示相邻的矩形而没有任何间隙。

但是,根据Grid的实际尺寸,Grid的行和列之间会出现空白行。我想这是为了弥补宽度不是列数的倍数的尺寸,或者高度不是行数的倍数。

以下XAML代码演示了这一点:

<Window x:Class="test.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Rectangle Grid.Column="0" Grid.Row="0" Fill="DarkBlue"></Rectangle>
    <Rectangle Grid.Column="1" Grid.Row="0" Fill="DarkOrange"></Rectangle>
    <Rectangle Grid.Column="0" Grid.Row="1" Fill="DarkBlue"></Rectangle>
    <Rectangle Grid.Column="1" Grid.Row="1" Fill="DarkBlue"></Rectangle>
</Grid>

</Window>

如何防止这些空行?如果一个或一些列/行略大于其他列,则实际上不是问题。我想保持标记简单。

我未成功尝试StretchFill,将Grid放入ViewBoxShowGridLines=False, Width=Auto等等。

问题的图像如下:

enter image description here

1 个答案:

答案 0 :(得分:3)

SnapsToDevicePixels="True"添加到您的Grid控件

Pixel Snapping in WPF Applications