2

可能重复:
如何将表情符号(笑脸)添加到 WPF 富文本框中

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

谢谢

4

1 回答 1

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>

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

于 2012-09-05T02:27:31.920 回答