我正在尝试使用边框创建网格,但是使用此代码,只有第一个单元格具有边框:
<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>
如何为所有单元格创建实体边框?
答案 0 :(得分:27)
将网格打包到 a Border:
<Border BorderBrush="#FF0000" BorderThickness="5" Margin="24,96,24,288">
<Grid>
....
</Grid>
</Border>
你的方法是将一个Border元素添加到 Grid-Control中 - 当然第一个单元格(如果你没有设置Grid.Row / Grid.Column,则默认为0)用一个绘制;)
如果要为每个单元格创建边框,则必须将每个内容包装到Border-element中,或者必须编辑网格的模板。 作为另一种选择,您可以尝试设置网格样式(这里是一个很好的article) 以下是本网站关于类似事情的另一个问题:Styling a WPF layout grid background
为了使这一点更清晰,为每个单元格获得(偶数)边界的最简单(如果不是最精炼)方法是为每个单元格自己设置边界并为网格自己设置(在标记或代码中) - 这是一个简化的例子:
<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>