假设我有一个非常简单的WPF网格(6行x 6列),定义如下:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
我想要如下绘制下面的网格线(一条实线和两条虚线)(我在Excel中绘制了这个,所以忽略了轻的Excel网格线):

我怎么能在XAML中这样做呢?
Ken*_*rey 14
您可以将Lines放在所需单元格的顶部,通过设置VerticalAlignment="Top"适当的Grid.ColumnSpan,并设置StrokeDashArray为获取虚线.
编辑:以上只是我的头脑,我显然忘记了WPF的一些"功能".
这是我工作的样本.我把它放在一个有5行和列的网格中,星号.
<Line Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Grid.ColumnSpan="2"
VerticalAlignment="Center" Stroke="Black" StrokeThickness="1"
X2="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" />
<Line Grid.Row="1" Grid.Column="2" Grid.RowSpan="2" Grid.ColumnSpan="2"
VerticalAlignment="Center" Stroke="Black" StrokeThickness="2" StrokeDashArray="5,3"
X2="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" />
Run Code Online (Sandbox Code Playgroud)
注意:如果行的大小不同,那将无法工作,因为它将行放在两行中心.如果它们的大小不同,您将需要VerticalAlignment="Top",但要注意,该行的上半部分将被剪裁.
| 归档时间: |
|
| 查看次数: |
11037 次 |
| 最近记录: |