在FlowDocument中启用嵌入式控件
时间:2020-03-05 18:58:06 来源:igfitidea点击:
我在标准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>
上面的将起作用,并且该链接将是可单击的。但是,我不希望使用完整的pageviewer,因为它将显示导航按钮(后退/前进)缩放,并且列的行为也很奇怪。
我希望在简单的FlowDocumentScrollViewer中使用它(或者其他只显示文本而不会产生额外绒毛的东西)。
编辑:
问题不只是超链接。如果FlowDocument位于FlowDocumentScrollViewer内部,则与IsEnabled属性无关的用户可以与之交互的任何控件(如Button,ListBox,ComboBox)都将显示为灰色。
编辑2:
好吧,这一定是一个错误,或者从我的角度来看是什么,因为我最终重写了控件,现在它可以工作了。我想如果某种原因在视觉树中的某个位置IsEnabled = False导致了这种情况。
解决方案
回答
我想知道我们是否会遇到这样的事情?
<TextBlock> <Hyperlink> <Run Text="Test link"/> </Hyperlink >
</TextBlock>
回答
我正在使用FlowDocumentScrollViewer作为我的"关于"框:
<FlowDocumentScrollViewer VerticalScrollBarVisibility="Auto"> <FlowDocument> <Paragraph> <!-- ... -->
我没有我们提到的任何控件或者问题。