就想问下, wpf中 ,怎么画个这样的表
datagrid 可以实现么? 如果可以, 请给个例子好么?
就是 第一行表头 可能每个cell占三列
第二行表头 每个cell占一列类似于这样的不规则的表头, wpf中怎么画???|———————————————————————————————————————— —|
|------第一季度------|------第二季度------|------第三季度------|------第四季度------|
|————————————————————————————————————————— |
| 1月份| 2月份| 3月份| 4月份| 5月份| 6月份| 7月份| 8月份| 9月份|10月份|11月份|12月份|
| —————————————————————————————————————————|
| | | | |
|————————————————————————————————————————— |
| | | | |
|————————————————————————————————————————— |
| | | | |
|————————————————————————————————————————— |
datagrid 可以实现么? 如果可以, 请给个例子好么?
就是 第一行表头 可能每个cell占三列
第二行表头 每个cell占一列类似于这样的不规则的表头, wpf中怎么画???|———————————————————————————————————————— —|
|------第一季度------|------第二季度------|------第三季度------|------第四季度------|
|————————————————————————————————————————— |
| 1月份| 2月份| 3月份| 4月份| 5月份| 6月份| 7月份| 8月份| 9月份|10月份|11月份|12月份|
| —————————————————————————————————————————|
| | | | |
|————————————————————————————————————————— |
| | | | |
|————————————————————————————————————————— |
| | | | |
|————————————————————————————————————————— |
使用Border控件
本文说的是使用第2个办法,有机会再说第1个办法。使用Border的BorderThickness属性可以控制Border各边的显隐粗细(粗细为0就是不显示)。使用BorderBrush属性则可灵活控制每个单元格的边线颜色。请看下面的代码
<Window x:Class="WpfApplication1.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 ShowGridLines="False">
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border BorderBrush="Black" BorderThickness="1" Grid.Column="0" Grid.Row="0"/>
<Border BorderBrush="Blue" BorderThickness="0,1,1,1" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2"/>
<Border BorderBrush="Red" BorderThickness="1,0,1,1" Grid.Column="0" Grid.Row="1"/>
<Border BorderBrush="Orange" BorderThickness="0,0,1,1" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"/>
<Border BorderBrush="Lime" BorderThickness="1,0,1,1" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Grid.RowSpan="2"/>
</Grid>
</Window>
不过不是我想要的
这样的话, 用不了datagrid, 很多功能都不能用了
如下:
<Grid Width="500" VerticalAlignment="Top" Margin="30" HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="120"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid>
头晕晕的