c#WPF显示彩色表情符号而不是黑白色

时间:2018-04-08 18:42:29

标签: c# wpf emoji

我正在WPF中创建聊天,我正在尝试让用户可以发送表情符号。用户在TextBox中写入消息,他可以用表情符号打开菜单并选择一些。一个问题是表情符号没有着色,但它们是黑色和白色。

Not colored :-(

我尝试使用emoji.wpf,但它仅适用于RichTextBox(我也需要buttonsTextBox)并且表情符号渲染速度非常慢。有些我读过,唯一的解决办法是将表情符号作为图片插入。它是真的还是存在更好的解决方案?建议将表情符号作为unicode字符,而不是图片。

对不起我的英语,我来自捷克共和国。

2 个答案:

答案 0 :(得分:3)

我发现了一种非常简单且很棒的方法!

只需添加一个名为 "Emoji.Wpf" 的 Nuget 包并按如下方式使用:

<Window ...
        xmlns:emoji="clr-namespace:Emoji.Wpf;assembly=Emoji.Wpf"
        ...>
    ...
    <emoji:TextBlock FontSize="24" Text="????‍???‍??‍??"/>
    ...
</Window>

enter image description here

它适用于我的 WPF 应用程序。

其项目站点中的更多信息:

https://github.com/samhocevar/emoji.wpf

答案 1 :(得分:2)

我写了Emoji.Wpf;以下是一些评论:

  • Image中可以轻松使用Button个类。例如,请参阅使用简单XAML的the font viewer sample,如下所示:<emoji:Image Width="44" Height="44" Text="{Binding UnicodeText}"/>

  • TextBox子类化为颜色表情符号非常困难,因为它只支持单一字体和字体样式;覆盖渲染代码似乎很难,而且我不够熟练。

以下是字体查看器的外观:

Emoji.Wpf font viewer