如何在WPF中的RichTextBox中添加表情符号

时间:2012-09-05 02:04:58

标签: c# wpf

  

可能重复:
  how to add emoticons(smileys) into WPF richtext box

现在,我想知道如何在WPF中的RichTextBox中添加表情符号。 例如:当我输入hi :)时,它将在RichTexBox中作为图像(微笑图像)返回。 我希望,你会帮助我。如果有人知道解决方案或示例代码

由于

1 个答案:

答案 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>

这应该让你知道如何开始。