在FlowDocument中启用嵌入式控件

时间:2008-09-17 06:44:46

标签: c# .net wpf .net-3.5

我在标准WPF应用程序窗口中有一个FlowDocument,其中有一些文本,在本文中有一些超链接和按钮。

问题是,如果我将此FlowDocument放在之外的任何内容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(或其他任何只显示文字而没有额外模糊的内容)。

修改 这不仅仅是超链接问题。 任何控件,如Button,ListBox,ComboBox - 用户可以与之交互的任何内容 - 如果FlowDocument位于FlowDocumentScrollViewer中,则无论IsEnabled属性如何都会“灰显”。

EDIT2: 好吧,它一定是我的错误或其他东西,因为我最终重写了控件,现在它的工作原理。我想如果IsEnabled = False在视觉树的某个地方引起了这种情况,那就有了一些。

2 个答案:

答案 0 :(得分:2)

我正在使用FlowDocumentScrollViewer来获取我的关于框:

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

我没有您提及的任何控件或问题。

答案 1 :(得分:0)

我想知道你是否期待这样的事情?

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

</TextBlock>