【问题标题】:Enabling embedded controls in a FlowDocument在 FlowDocument 中启用嵌入式控件
【发布时间】:2010-09-09 23:37:12
【问题描述】:

我在标准 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 在可视化树中的某处导致了这种情况。

【问题讨论】:

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


    【解决方案1】:

    我正在为我的 about 框使用 FlowDocumentScrollViewer:

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

    我没有你提到的任何控制或问题。

    【讨论】:

      【解决方案2】:

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

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

      </TextBlock>
      

      【讨论】:

      • 我宁愿使用 FlowDocument,因为它为我提供了一些额外的格式化功能。 (我将其用于我的应用程序的一些简单的在线帮助 - 只是一个简要说明如何执行任务的对话框)
      猜你喜欢
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-11
      • 2013-12-11
      • 1970-01-01
      相关资源
      最近更新 更多