在 Xamarin.Forms 中的 ListView 上的 ItemTapped 和 ItemSelected 事件之间有什么区别?



A ListView in Xamarin。Forms有两个事件,看起来完全一样:ItemTapped和ItemSelected

实际上没有任何关于这些的文档,那么究竟有什么区别呢?

ItemSelected状态ItemTapped运动事件。所有的视图都可以点击,如果我没记错的话,所有的视图都可以被选中(或者至少有一个微妙的区别被激活),这两者不一定要在一起,但它们通常是这样做的。

例如,每次点击动作事件发生时,你都会切换项目的选定状态。为了更清楚地说明,你可以将所选状态的变化与任何你需要的东西联系起来,无论是像点击长按双击之类的运动事件,还是与其他事件或逻辑联系起来。

希望有帮助,祝你好运!

ItemTapped应在每次单击上的项目时发生,而ItemSelected应在每次选中的项目更改时发生。

基本上

  • 点击两次相同的物品应该触发两次ItemTapped,只触发一次ItemSelected
  • 点击两次,在不同的项目上,应该触发ItemTapped两次,ItemSelected两次

ItemSelected首先出现。

值得注意的一个主要区别是当SelectionMode="None"

<ListView ... SelectionMode="None" />

当设置为"None"…ItemSelect事件不会触发,SelectedItem属性仍然是null

ItemTapped事件将继续按预期触发。

ListView交互性

我认为ItemSelected是当您使用DataTemplate为您的项目。

最新更新