wpf - 应该如何在 wpf 中修复表情符号
问题描述
我使用这个库https://www.nuget.org/packages/Emoji.Wpf在我的应用程序中使用表情符号。但我有一些问题。
<emoji:Picker x:Name="mypicker" FontSize="40" Cursor="None" SelectionChanged="mypicker_SelectionChanged" Loaded="mypicker_Loaded" />
<TextBox x:Name="mytxt" />
在 SelectionChanged 中:
var emoji = mypicker.Selection;
mytxt.Text = mytxt.Text + emoji ;
如果我点击一个表情符号它的工作,但如果我再次点击它不起作用。我应该如何解决这个问题?
解决方案
这是预期的行为,因为只有在选择更改SelectionChanged
时才会触发事件。如果您选择两次相同的表情符号,则所选项目没有改变。
您使用的Picker
控件有一个内部的Popup
,但它不公开事件PopupClosed
或类似的东西ItemSelected
。由于所有字段和方法都是private
or internal
,因此派生自定义类型不起作用,除了使用反射,我不推荐。
也不建议在事件处理程序中将该属性设置为,因为按钮Selected
只会显示问号而不是表情符号 ( ),但如果这对您有用,您可以这样做。null
SelectionChanged
Picker
???
另一种方法是创建一个单独的按钮以在您的文本中插入表情符号,并Picker
仅选择表情符号。
推荐阅读
- excel - 将 VBS 脚本中的行号存储为变量并引用它
- opencv - 你如何计算平均梯度方向和平均梯度强度/幅度
- paging - 计算机体系结构 - 分页
- javascript - 使用 z-index 阻止扩展问题
- php - php echo中的jquery变量
- javascript - AJAX 实时搜索 - 向 PHP 发送多个值
- python - 在训练中使用 tf.dataset API 无法获取全部数据
- java - 创建excel文件
- c# - 添加异步时覆盖任务返回方法时的 StackOverflow 异常
- react-native - React Native Alert crash(error) 删除构象