网格列内的WPF线定位
我有一个网格,有3个大小相等的列网格列内的WPF线定位,wpf,xaml,line,Wpf,Xaml,Line,我有一个网格,有3个大小相等的列 <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> </Grid.ColumnDefinitions> 我想画一条水平线,这样它将从第一列的中间开始,并在最后一列的中间结束 <Line Gr
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
我想画一条水平线,这样它将从第一列的中间开始,并在最后一列的中间结束
<Line Grid.ColumnSpan="3" Stretch="Fill"
X1="0" X2="1" Y1="0" Y2="0"
VerticalAlignment="Center" HorizontalAlignment="Stretch"/>
所需结果应为下图底部所示的线条
将页边距硬编码到行可能在这里不起作用
如何才能做到这一点?这可能不是最好的方法。。。但是如果你用边界而不是线呢?然后使用颜色/透明渐变设置背景,在1/6和5/6点设置硬停止 或者,您可以使用6个等间距的列,并从第2列开始使用colspan 4。不过,这将对网格中的其他项目产生影响
<Border Grid.ColumnSpan="3" BorderThickness="0" Height="5">
<Border.Background>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Transparent" Offset="0.1666"/>
<GradientStop Color="Transparent" Offset="0.8334"/>
<GradientStop Color="Red" Offset="0.1667"/>
<GradientStop Color="Red" Offset="0.8333"/>
</LinearGradientBrush>
</Border.Background>
</Border>
创建嵌套网格:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Grid.ColumnSpan="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Line Grid.Column="1" Stretch="Fill" X2="1"/>
</Grid>
</Grid>