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

Dav*_*koř 6 c# wpf emoji

我正在 WPF 中创建聊天,我试图让用户可以发送表情符号。用户在 a 中写一条消息,TextBox他可以打开带有表情符号的菜单并选择一些。一个问题是表情符号不是彩色的,而是黑白的。

没有颜色:-(

我试图用emoji.wpf,但它只能在RichTextBox(我需要buttonsTextBox太)和表情符号被渲染得非常缓慢。我曾读到唯一的解决方案是将表情符号作为图片插入。这是真的还是存在一些更好的解决方案?最好将表情符号作为 unicode 字符,而不是图片。

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

Eve*_*der 9

我发现了一个非常简单又很棒的方法!

\n

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

\n
<Window ...\n        xmlns:emoji="clr-namespace:Emoji.Wpf;assembly=Emoji.Wpf"\n        ...>\n    ...\n    <emoji:TextBlock FontSize="24" Text="\xe2\x80\x8d\xe2\x80\x8d\xe2\x80\x8d"/>\n    ...\n</Window>\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

它非常适合我的 WPF 应用程序。

\n

更多信息请参见其项目网站:

\n

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

\n

  • @DavidMoškoř 接受 Sam 的答案不是更好吗?他是该库的作者,三年前就已经指出了该库。也许编辑他的答案以使其更新。 (4认同)

sam*_*var 5

我写了 Emoji.Wpf; 这里有一些评论:

  • 有一个Image类可以在Button. 例如请参阅使用简单 XAML的字体查看器示例,如下所示:<emoji:Image Width="44" Height="44" Text="{Binding UnicodeText}"/>

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

这是字体查看器的样子:

Emoji.Wpf 字体查看器