WPF. Как выровнять текст в содержимом InlineUIContainer с внешним текстом в RichTextBox - PullRequest
4 голосов
/ 08 марта 2011

Задача: сделать так, чтобы текстовое содержимое InlineUIContainer было встроено во внешний текст

Стандартное поведение содержимого InlineUIContainer заключается в том, что нижний край находится внутри внешнего текста.* Можно сдвинуть содержимое InlineUIContainer с помощью RenderTransform, но значение Y нужно выбирать для каждого типа и размера шрифта - не идеальный способ.

<RichTextBox>
    <FlowDocument>
        <Paragraph>
            LLL
            <InlineUIContainer>
                <Border Background="LightGoldenrodYellow">
                    <TextBlock Text="LLL"/>
                </Border>
            </InlineUIContainer>
            LLL
        </Paragraph>

        <Paragraph>
            LLL
            <InlineUIContainer>
                <Border Background="LightGoldenrodYellow">

                    <Border.RenderTransform>
                        <TranslateTransform Y="5" />
                    </Border.RenderTransform>

                    <TextBlock Text="LLL"/>

                </Border>    
            </InlineUIContainer>
            LLL
        </Paragraph>
    </FlowDocument>
</RichTextBox>

Example

Как выровнять текст в содержимом InlineUIContainer с внешним текстом в RichTextBox независимо от типа и размера шрифта?

1 Ответ

8 голосов
/ 08 марта 2011

пытались ли вы поиграть с InlineUIContainer.BaselineAlignment

здесь несколько примеров того, как его использовать

...