如何通过类似效果实现罢工

时间:2011-06-17 18:27:36

标签: wpf xaml

我正在寻找类似于---- 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控件设置背景,那么一切正常。但我想要的是使用默认的灰色背景(例如,根本不设置背景)。

我该如何做到这一点?

2 个答案:

答案 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>