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

c# WPF display colored emoji instead of black and white

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

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

抱歉我的英语不好,我来自捷克共和国。

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

  • 有一个 Image class 可以在 Button 中简单使用。例如,参见 the font viewer sample,它使用简单的 XAML,如下所示:<emoji:Image Width="44" Height="44" Text="{Binding UnicodeText}"/>

  • 彩色emojiclassTextBox比较难,因为它只支持单一的字体和字体样式;重写渲染代码似乎很难,而且我还不够熟练。

字体查看器如下所示:

我找到了一个非常简单而且很棒的方法!

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

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

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

项目站点中的更多信息:

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