【发布时间】:2012-09-05 02:04:58
【问题描述】:
现在,我想知道,如何在 WPF 的 RichTextBox 中添加表情。 例如:当我输入 hi :) 时,它将在 RichTexBox 中返回为图像(微笑图像)。 我希望,你会帮助我。如果有人知道解决方案或示例代码
谢谢
【问题讨论】:
-
同样的问题已经发布:stackoverflow.com/questions/3674733/…
现在,我想知道,如何在 WPF 的 RichTextBox 中添加表情。 例如:当我输入 hi :) 时,它将在 RichTexBox 中返回为图像(微笑图像)。 我希望,你会帮助我。如果有人知道解决方案或示例代码
谢谢
【问题讨论】:
对此没有预构建的解决方案,但是,当您使用 WPF 时,您可以通过 TextChanged 事件或您的 PropertyChanged(如果它是 MVVM)对 RichTextBox 内的文本更改做出反应。
一旦你知道文本发生了变化,你就可以通过简单的搜索给它通过(有更好的方法来做这个解析,但为了一个简单的例子,只需使用简单的字符串搜索)。如果你找到你想要的文本,我的意思是,与你的笑脸 hi :) 相对应的标记,那么你可以通过在 RichTextBox 中使用 FlowDocument 来在该位置插入图像
解析前
<RichTextBox>
<FlowDocument>
<Paragraph>
<Run>Hello :) world!</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
解析后
<RichTextBox>
<FlowDocument>
<Paragraph>
<Span>
<Run Text="Hello"/>
<Image Width="16" Source="Your emoticon source"/>
<Run Text=" world"/>
</Span>
</Paragraph>
</FlowDocument>
</RichTextBox>
这应该让您知道如何开始。
【讨论】: