c# - 在 FlowDocument 中启用嵌入式控件

标签 c# .net wpf .net-3.5

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

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

编辑: 问题不仅仅在于超链接。 任何控件,如 Button、ListBox、ComboBox - 用户可以与之交互的任何内容 - 如果 FlowDocument 位于 FlowDocumentScrollViewer 内,则无论 IsEnabled 属性如何,都会“变灰”。

编辑 2: 好吧,这一定是我的错误或其他原因,因为我最终重写了控件,现在它可以工作了。我想在可视化树中的某处是否有某种 if IsEnabled=False 导致了这种情况。

最佳答案

我正在为我的关于框使用 FlowDocumentScrollViewer:

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

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

关于c# - 在 FlowDocument 中启用嵌入式控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/80593/

相关文章:

c# - 如何使用 SQL 在登录和注销之间获取当前用户

.net - 在 Python 中使用 .net 正则表达式

c# - WPF从列表框中删除项目

.net - Visual Studio 中的 HintPath 与 ReferencePath

c# - DataTemplate内部的 Prism 区域

.net - 如何在 WPF 中设置装饰器的 Z 顺序索引

c# - 最小起订量在第二次验证时未执行任何调用

c# - .Net 接口(interface),返回类型已知,但参数类型/数量未知

c# - 基于定制的随机样本生成方法

.net - inout参数有什么用处吗?