现在,我想知道如何在WPF中的RichTextBox中添加表情符号。 例如:当我输入hi :)时,它将在RichTexBox中作为图像(微笑图像)返回。 我希望,你会帮助我。如果有人知道解决方案或示例代码
由于
答案 0 :(得分:1)
没有预先构建的解决方案,但是,当您使用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>
这应该让你知道如何开始。