【发布时间】:2019-06-27 08:53:12
【问题描述】:
我在堆栈中有一个条目和列表视图。 Listview 包含复选框、标签和删除图标作为按钮。点击条目后,我尝试删除列表视图中的项目,键盘立即消失,但有空白。之后空白占据页面的一半。
在 xaml 中删除具有命令和单击事件的按钮。删除图标的命令。单击事件以取消聚焦条目。在键盘正确隐藏命令触发之前。
点击删除按钮后,我需要清除条目的焦点以隐藏键盘,然后只有命令事件应该触发删除项目。
【问题讨论】:
标签: xamarin
我在堆栈中有一个条目和列表视图。 Listview 包含复选框、标签和删除图标作为按钮。点击条目后,我尝试删除列表视图中的项目,键盘立即消失,但有空白。之后空白占据页面的一半。
在 xaml 中删除具有命令和单击事件的按钮。删除图标的命令。单击事件以取消聚焦条目。在键盘正确隐藏命令触发之前。
点击删除按钮后,我需要清除条目的焦点以隐藏键盘,然后只有命令事件应该触发删除项目。
【问题讨论】:
标签: xamarin
为了清楚地关注条目,在你的按钮命令中添加这个:
yourEntryName.UnFocus();
【讨论】:
发生这种情况是因为在触发事件之前实际执行了 Command。 此外,不建议将事件和命令附加到同一个控件。 我的建议是尝试以一种您可以在 ViewModel 中访问您的条目的方式坚持使用该命令。 如果由于某种原因无法做到这一点,请尝试以下操作:
private void ButtonClicked(object sender, EventArgs e)
{
myEntry.Unfocus(); //unfocus part
myViewModel.DeleteCommand.Execute(null); //execute the command from the VM part
}
然后删除您的 Command 绑定,因为您正在以这种方式执行它。
【讨论】: