WPF UIElements 内联文本 "Adornments"

标签 wpf text uielement adornment

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

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

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

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

您可以将其视为 WPF 的智能标签。

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

最佳答案

看看 InlineUIContainer BlockUIContainer 类。他们允许 UIElement s 嵌入到流内容中,如 FlowDocumentTextBlock .

这是内联在 TextBlock 中的 Button 示例:

<TextBlock>
    Some inline
    <InlineUIContainer>
        <Button Content="Hi" Click="Button_Click" />
    </InlineUIContainer>
    inside the text.
</TextBlock>

关于WPF UIElements 内联文本 "Adornments",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593391/

相关文章:

WPF 多重组合几何

c# - 如何在 C# 中的一个循环中重命名多个按钮

delphi - 在 Delphi 中编辑文本文件

c# - 如何在 WPF UI 中使 <UIElement> 可交互或可点击

wpf - UIElement 与 FrameworkElement

wpf - ContextMenu 绑定(bind)到 ObservableCollection<MenuItem> 不刷新数据

c# - 我如何将弹出窗口大小设置为其内容?

wpf - 在哪里可以找到免费的 WPF 控件和控件模板?

php - 在 PHP 中查找多个 TXT 文件中的特定文本

c# - wpf UIElement 是否有任何唯一标识符?