在Windows商店聊天中实现表情符号

时间:2014-05-14 05:47:25

标签: windows xaml windows-store-apps winrt-xaml

我正在开发一个Windows应用商店聊天应用。

在此应用中,我使用TextBox来接收用户的消息内容。我想实现表情符号(Smileys),这样键入代码就会给出与文本内联的相应图像。

例如,对于:),我想要一个微笑'图像。

1 个答案:

答案 0 :(得分:0)

您需要做的是使用RichTextBlock来显示文字。这样,您就可以在必要时访问InlineUIContainer块中的添加内容。

因此,您的流程将是:

  • 接受常规文本框中的文字
  • 将文字解析为一系列Inline s(RunInlineUIContainer等)
  • 为邮件
  • 创建新的Paragraph
  • Inlines添加到Paragraph
  • Paragraph添加到RichTextBlock的{​​{1}}媒体资源(Blocks)。

对于每一段文字:

  • BlockCollection文字,可能使用Split,搜索触发Regex(':)','(心)'等的键。
  • 对于每个非图片文字,请创建一个Image,并将Run设置为拆分文本
  • 对于每个Text,请创建ImageInlineUIContainer。将Image来源设置为正确的Image路径,然后将Image的{​​{1}}设置为Child
  • 通过InlineUIContainer添加ImageRun InlineUIContainer

Paragraph字体系列中可能包含某些图标。如果是这种情况,您可以选择不对该符号使用Paragraph.Blocks.Add(Inline),而是使用Segoe UI SymbolImage设置为Run。如果您希望它们更加突出,您可以使用FontFamily

希望这有助于编码!

相关问题