Включение встроенных элементов управления в FlowDocument - PullRequest
4 голосов
/ 17 сентября 2008

У меня есть FlowDocument в стандартном окне приложения WPF, где у меня есть текст, а в этом тексте несколько гиперссылок и кнопок.

Проблема в том, что если я помещу этот FlowDocument внутрь чего-либо , за исключением a FlowDocumentPageViewer , то гиперссылки и кнопки отключены ("недоступны").

<FlowDocumentScrollViewer>
  <FlowDocument>
      <Paragraph>
        Hello, World!
        <Hyperlink NavigateUri="some-uri">click me</Hyperlink>
        <Button Click="myButton_Click" Content="Click me too!" />
      </Paragraph>
  </FlowDocument>
</FlowDocumentScrollViewer>

Выше будет работать, и ссылка будет кликабельна. Тем не менее, я не хочу, чтобы в полном объеме просматривал страницы, поскольку он будет показывать кнопки навигации (назад / вперед), а также имеет странное поведение столбца.

Я хочу это в простом FlowDocumentScrollViewer (или в любом другом, который просто отображает текст без дополнительного размытия).

EDIT: Проблема не только в гиперссылках. Любой элемент управления , такой как Button, ListBox, ComboBox - все, с чем пользователь может взаимодействовать - «недоступен» независимо от свойств IsEnabled, если FlowDocument находится внутри FlowDocumentScrollViewer.

EDIT2: Хорошо, это должно было быть ошибкой или чем-то еще с моей стороны, потому что я переписал элемент управления, и теперь он работает. Я предполагаю, что был какой-то вид, если IsEnabled = False где-то в визуальном дереве, которое вызвало это.

Ответы [ 2 ]

2 голосов
/ 30 сентября 2008

Я использую FlowDocumentScrollViewer для моего окна о:

<FlowDocumentScrollViewer VerticalScrollBarVisibility="Auto">
    <FlowDocument>
        <Paragraph>
            <!-- ... -->

У меня нет ни одного из упомянутых вами элементов управления или проблем.

0 голосов
/ 17 сентября 2008

Мне интересно, вы ожидаете что-то подобное?

<TextBlock>
<Hyperlink>
    <Run Text="Test link"/>
</Hyperlink >

</TextBlock>
...