开发者

How to achieve a strike through like effect

I'm looking for an effect similar to ---- or ----. However, the code below is creating a strike through effect. I thought that setting Grid.ZIndex would solve the issue, however it doesn't seem to be doing anything.

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

If I set a background to my TextBlock control then all works fine. What I want, though, is to use the defau开发者_开发技巧lt gray background (e.g. not set a background at all).

How can I accomplish this?


It's better to use TextDecorations

<TextBlock>
    <TextBlock.TextDecorations>
        <TextDecoration Location="Strikethrough">
            <TextDecoration.Pen>
                <Pen Brush="Red" />
            </TextDecoration.Pen>
        </TextDecoration>
    </TextBlock.TextDecorations>
    Strike through
</TextBlock>


The solution was actually quite simple.

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜