Как прокрутить FlowDocument, на котором есть другой FlowDocument в Expander

Я пишу приложение, которое отображает справочную информацию для пользователя в форме потокового документа, каждая ссылка включает в себя раздел вспомогательных ссылок для внутри элемента управления расширителя. Некоторый упрощенный код, который демонстрирует структуру:

<FlowDocumentScrollViewer VerticalScrollBarVisibility="Auto">
    <FlowDocument>
        <Paragraph FontWeight="Bold">some title</Paragraph>
        <Paragraph FontWeight="Bold">sub title</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>lots of body text</Paragraph>
        <Paragraph>
            <Expander Header="references" Background="{x:Null}">
                <FlowDocumentScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" Background="{x:Null}">
                    <FlowDocument Background="{x:Null}">
                        <Section Padding="10,10,10,10" BorderThickness="1,1,1,1" BorderBrush="#FFB4B4B4" Background="#FFF0F0F0">
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                            <Paragraph>lots of text</Paragraph>
                        </Section>
                    </FlowDocument>
                </FlowDocumentScrollViewer>
            </Expander>
        </Paragraph>
    </FlowDocument>
</FlowDocumentScrollViewer>

Моя проблема заключается в том, что когда расширитель развернут для показа перекрестных ссылок, тогда, когда указатель мыши находится над вспомогательной ссылкой, документ основного потока больше не прокручивается. Когда мышь находится над основной ссылкой, прокрутка работает нормально.

Я пробовал многочисленные комбинации настроек полосы прокрутки, но не могу понять это.

РЕДАКТИРОВАТЬ: Хорошо, поэтому мне удалось сделать это, изменив FlowDocumentScrollViewer, содержащийся в элементе управления Expander, вместо этого на FlowDocumentReader. Это исправило проблему с прокруткой, но означало, что мне пришлось создать шаблон FlowDocumentReader, чтобы скрыть панель инструментов, которая отображается по умолчанию.

Но, к сожалению, FlowDocumentReader является более тяжелым ресурсом управления и всегда показывает вертикальную полосу прокрутки в режиме прокрутки. Мне нужно отключить полосу прокрутки, поскольку, когда она содержится в имеющейся у меня структуре, элемент управления имеет полную длину, а родительский FlowDocumentScrollView обрабатывает прокрутку.

В идеале я все еще хотел бы использовать FlowDocumentScrollView, но мне нужно решить проблему с прокруткой.

0 ответов

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