Установка границы сетки в WP7 - PullRequest
5 голосов
/ 25 сентября 2011

Я пытаюсь создать сетку с границами, но с помощью этого кода только у первой ячейки есть рамка:

<Grid Margin="24,96,24,288" d:LayoutOverrides="GridBox">
    <Grid.RowDefinitions>
        <RowDefinition Height="0.150*"/>
        <RowDefinition Height="0.150*"/>
        <RowDefinition Height="0.150*"/>
        <RowDefinition Height="0.150*"/>
        <RowDefinition Height="0.150*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
        <ColumnDefinition Width="0.150*"/>
    </Grid.ColumnDefinitions>
    <Border BorderBrush="#FFFFFF" BorderThickness="1"/>
</Grid>

Как создать сплошную границу для всех ячеек?

1 Ответ

27 голосов
/ 25 сентября 2011

Оберните сетку в a Границу :

<Border  BorderBrush="#FF0000" BorderThickness="5" Margin="24,96,24,288">
    <Grid>
       ....
    </Grid>
</Border>

То, как вы это сделали, добавили Border-элемент в Grid-Control - поэтому, конечно, первая ячейка (если вы не установите Grid.Row / Grid.Column, оба будут по умолчанию равны 0 ) был нарисован с одним;)

Если вы хотите создать рамку для каждой ячейки, вам нужно обернуть каждый контент в элемент Border или отредактировать шаблон для сетки. В качестве другой альтернативы вы можете попробовать стилизовать сетку (вот хорошая статья ) Вот еще один вопрос с этого сайта, касающийся аналогичной вещи: Стилизация фона сетки макета WPF

Чтобы сделать это немного понятнее, самый простой (если не самый точный) способ получить (четную) границу для каждой ячейки - это действительно установить границу для каждой ячейки И для сетки самостоятельно (либо в разметке, либо в коде) - Вот упрощенный пример:

<Border BorderBrush="#FF0000" BorderThickness="2" Grid.Row="0" Grid.Column="0" Margin="24,96,24,288" >
    <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <Border BorderBrush="#FF0000" BorderThickness="2" Grid.Row="0" Grid.Column="0"/>
            <Border BorderBrush="#FF0000" BorderThickness="2" Grid.Row="0" Grid.Column="1"/>
            <Border BorderBrush="#FF0000" BorderThickness="2" Grid.Row="1" Grid.Column="0"/>
            <Border BorderBrush="#FF0000" BorderThickness="2" Grid.Row="1" Grid.Column="1"/>
    </Grid>
</Border>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...