【发布时间】:2014-05-14 05:47:24
【问题描述】:
我正在开发一个 Windows 应用商店聊天应用程序。
在这个应用程序中,我使用TextBox 来接收来自用户的消息内容。我想实现表情符号(笑脸),以便输入代码会给出与文本内联的相应图像。
例如,对于:),我想要一个“微笑”图像。
【问题讨论】:
标签: windows xaml windows-store-apps winrt-xaml
我正在开发一个 Windows 应用商店聊天应用程序。
在这个应用程序中,我使用TextBox 来接收来自用户的消息内容。我想实现表情符号(笑脸),以便输入代码会给出与文本内联的相应图像。
例如,对于:),我想要一个“微笑”图像。
【问题讨论】:
标签: windows xaml windows-store-apps winrt-xaml
您需要做的是使用RichTextBlock 来显示您的文本。这将使您可以在必要时访问 InlineUIContainer 块。
因此,您的流程将是:
Inlines(Run、InlineUIContainer等)Paragraph
Inliness 添加到Paragraph。Paragraph 添加到您的RichTextBlock 的Blocks 属性(BlockCollection)。对于每一段文字:
Split 文本,可能使用Regex,搜索触发Image 的键(':)'、'(heart)' 等)。Run 并将 Text 设置为拆分的文本Image 创建一个InlineUIContainer 和一个Image。将Image源设置为正确的Image路径,然后将InlineUIContainer的Child设置为Image。Paragraph.Blocks.Add(Inline)添加Run或InlineUIContainerParagraph。某些图标可能包含在Segoe UI Symbol 字体系列中。如果是这种情况,您可以选择不为该符号使用Image,而是使用Run 并将FontFamily 设置为Segoe UI Symbol。如果你想让FontSize 更显眼,你可以试试看。
希望这对编码有所帮助!
【讨论】: