Изменяемая сетка WPF вставляет пустые строки между строками и столбцами в зависимости от фактического размера - PullRequest
2 голосов
/ 27 января 2010

У меня есть 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>

Как я могу предотвратить эти пустые строки? Если один или несколько столбцов / строк немного больше других, это не проблема. Я бы хотел, чтобы разметка была простой.

Я безуспешно пытался Stretch, Fill, помещая Grid в ViewBox, ShowGridLines=False, Width=Auto и т. Д.

Изображение проблемы выглядит следующим образом:

enter image description here

1 Ответ

3 голосов
/ 27 января 2010

Добавить SnapsToDevicePixels="True" к вашему Grid элементу управления

Пиксельная привязка в приложениях WPF

...