Как добиться удара через подобный эффект - PullRequest
2 голосов
/ 17 июня 2011

Я ищу эффект, похожий на ---- 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 ]

11 голосов
/ 17 июня 2011

Лучше использовать TextDecorations

<TextBlock>
    <TextBlock.TextDecorations>
        <TextDecoration Location="Strikethrough">
            <TextDecoration.Pen>
                <Pen Brush="Red" />
            </TextDecoration.Pen>
        </TextDecoration>
    </TextBlock.TextDecorations>
    Strike through
</TextBlock>
3 голосов
/ 17 июня 2011

Решение было на самом деле довольно простым.

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...