我正在寻找类似于---- or ----
的效果。但是,下面的代码创建了一个通过效果。我认为设置Grid.ZIndex
可以解决问题,但它似乎没有做任何事情。
<Grid>
<TextBlock Text="or" FontSize="22" Height="34" Grid.ZIndex="2" HorizontalAlignment="Center" />
<Line Stretch="Fill" Stroke="Black" X1="1" Margin="0 4 0 -1" SnapsToDevicePixels="True" Grid.ZIndex="1" Height="34" />
</Grid>
如果我为TextBlock
控件设置背景,那么一切正常。但我想要的是使用默认的灰色背景(例如,根本不设置背景)。
我该如何做到这一点?
答案 0 :(得分:10)
最好使用TextDecorations
<TextBlock>
<TextBlock.TextDecorations>
<TextDecoration Location="Strikethrough">
<TextDecoration.Pen>
<Pen Brush="Red" />
</TextDecoration.Pen>
</TextDecoration>
</TextBlock.TextDecorations>
Strike through
</TextBlock>
答案 1 :(得分:3)
解决方案实际上很简单。
<Grid>
<TextBlock Text="or" FontSize="22" Height="34" HorizontalAlignment="Center" Background="{Binding Path=Background, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
<Line Stretch="Fill" Stroke="Black" X1="1" Margin="0 4 0 -1" SnapsToDevicePixels="True" Height="34" Grid.ZIndex="-99" />
</Grid>