Свойство TextBlock для удаления фона

У меня есть TextBox, определенный как это:

<TextBox>
    <TextBox.Background>
        <VisualBrush>
            <VisualBrush.Visual>
                <StackPanel>
                    <TextBlock Background="Blue" Opacity="0.5" Text="155"/>
                </StackPanel>
            </VisualBrush.Visual>
        </VisualBrush>
    </TextBox.Background>
</TextBox>

Это выглядит так:

Тем не менее, когда я удаляю Background свойство, текст растягивается так:

Есть ли способ добавить фон без изменения внешнего вида текста?

2 ответа

Решение

Обходной путь этой проблемы, которую я не знаю, почему это происходит, состоит в том, чтобы удалить свойство Background из текстового блока и поместить его позади него следующим образом.

        <Grid>
            <Rectangle Fill="Blue"/>
            <TextBox Height="100">
                <TextBox.Background>
                    <VisualBrush Stretch="Fill" TileMode="None" AlignmentX="Left" AlignmentY="Top">
                        <VisualBrush.Visual>
                            <StackPanel>
                                <TextBlock Margin="0" Padding="0" Opacity="0.5" Text="155"/>
                            </StackPanel>

                        </VisualBrush.Visual>
                    </VisualBrush>
                </TextBox.Background>
            </TextBox>
        </Grid>

Если вы используете Background="Transparent" он будет использовать тот же макет, но без цвета фона. Это то, что вы пытаетесь сделать?

Другие вопросы по тегам