我正在WPF中创建聊天,我正在尝试让用户可以发送表情符号。用户在TextBox
中写入消息,他可以用表情符号打开菜单并选择一些。一个问题是表情符号没有着色,但它们是黑色和白色。
我尝试使用emoji.wpf
,但它仅适用于RichTextBox
(我也需要buttons
和TextBox
)并且表情符号渲染速度非常慢。有些我读过,唯一的解决办法是将表情符号作为图片插入。它是真的还是存在更好的解决方案?建议将表情符号作为unicode字符,而不是图片。
对不起我的英语,我来自捷克共和国。
答案 0 :(得分:3)
我发现了一种非常简单且很棒的方法!
只需添加一个名为 "Emoji.Wpf" 的 Nuget 包并按如下方式使用:
<Window ...
xmlns:emoji="clr-namespace:Emoji.Wpf;assembly=Emoji.Wpf"
...>
...
<emoji:TextBlock FontSize="24" Text="???????????"/>
...
</Window>
它适用于我的 WPF 应用程序。
其项目站点中的更多信息:
答案 1 :(得分:2)
我写了Emoji.Wpf;以下是一些评论:
在Image
中可以轻松使用Button
个类。例如,请参阅使用简单XAML的the font viewer sample,如下所示:<emoji:Image Width="44" Height="44" Text="{Binding UnicodeText}"/>
将TextBox
子类化为颜色表情符号非常困难,因为它只支持单一字体和字体样式;覆盖渲染代码似乎很难,而且我不够熟练。
以下是字体查看器的外观: