WPF:在ToolTip中使用RichTextBox / FlowDocument

时间:2012-12-16 10:52:43

标签: wpf tooltip richtextbox flowdocument

我想使用RichTextDocument / Flow文档作为工具提示的内容,以便在工具提示中获得更多格式化功能。但是会发生一些奇怪的结果:

  • 如果在工具提示中使用RichTextBox

    <Label Name="sbLabelActions" Content="{Binding ActionsCount}" Style="{StaticResource ResourceKey=StatusBarLabelWithText}" MinWidth="40" >
        <Label.ToolTip>
            <RichTextBox>
                <FlowDocument><Paragraph>Bla-bla</Paragraph></FlowDocument>
            </RichTextBox>
        </Label.ToolTip>
    </Label>
    

enter image description here

  • 如果直接在工具提示中使用Flow文档

    <Label Name="sbLabelActions" Content="{Binding ActionsCount}" Style="{StaticResource ResourceKey=StatusBarLabelWithText}" MinWidth="40" >
        <Label.ToolTip>
                <FlowDocument><Paragraph>Bla-bla</Paragraph></FlowDocument>
        </Label.ToolTip>
    </Label>
    

enter image description here

你能建议正确的方法吗?如何禁用该BIG预览窗口?也许流文档的使用不是最好的方法?我意识到我可以添加StackPanel并填充TextBlocks,但它现在正在解决FlowDocument的错误吗? :)

1 个答案:

答案 0 :(得分:1)

FlowDocument的默认DataTemplate包含用于显示文档的FlowDocumentReader。如果您不想在FlowDocumentPageViewerFlowDocumentScrollViewer之间动态选择,可以直接使用它们。

<Label.ToolTip>
    <FlowDocumentScrollViewer VerticalScrollBarVisibility="Auto">
        <FlowDocument>
            <Paragraph>Bla-bla</Paragraph>
        </FlowDocument>                    
    </FlowDocumentScrollViewer>
</Label.ToolTip>