7

在 WPF 中,如何将常规UIElements 与文本内联?例如,某种文本分类将用包含特定选项的下拉列表替换一段文本。

我使用过像 Span、Bold、Hyperlink 这样的对象,它们对内联文本进行了一些轻微的修改,但我希望能够做一些更激烈和自定义的事情。我可以实现一个类似的内联对象来完成这个吗?

我正在做一个需要一些高级文本视觉效果的项目。具体来说,我想做一些类似于基于 Visual Studio 2010 WPF 的源代码编辑器。

我将有一段文本,各种组件将查看该文本以搜索具有特殊含义的片段。当它找到一段文本时,它将记录/标记该跨度。然后另一组组件将遍历分类文本并根据它们的分类添加装饰。

你可以把它想象成 WPF 的智能标签。

我真的不知道从哪里开始,WPF 中有关高级文本的所有文档都是关于动画、自定义画笔、转换为几何图形等...

4

1 回答 1

13

看看InlineUIContainerBlockUIContainer类。它们允许将UIElements 嵌入到流内容中,例如FlowDocumentTextBlock

这是一个内联在 a 中的 Button 示例TextBlock

<TextBlock>
    Some inline
    <InlineUIContainer>
        <Button Content="Hi" Click="Button_Click" />
    </InlineUIContainer>
    inside the text.
</TextBlock>
于 2009-02-27T05:27:58.383 回答