在WP7中设置网格边框

oox*_*xio 5 xaml windows-phone-7

我正在尝试使用边框创建网格,但是使用此代码,只有第一个单元格具有边框:

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

如何为所有细胞创建实体边框?

Car*_*ten 27

裹网格一个边界:

<Border  BorderBrush="#FF0000" BorderThickness="5" Margin="24,96,24,288">
    <Grid>
       ....
    </Grid>
</Border>
Run Code Online (Sandbox Code Playgroud)

你做的方式是添加边框元素网格控制-所以理所当然的第一个单元格(如果您没有设置Grid.Row/Grid.Column都将默认为0)绘制一个;)

如果要为每个单元格创建边框,则必须将每个内容包装到Border-element中,或者必须编辑网格的模板.作为另一种选择,你可以尝试设置网格样式(这是一篇很好的文章)这是另一个关于类似的东西的网站问题:造型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>
Run Code Online (Sandbox Code Playgroud)