Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';Xamarin.Forms中ListView上的ItemTapped和ItemSelected事件之间的区别是什么?_C#_Xamarin_Xamarin.forms - Fatal编程技术网

C# 什么';Xamarin.Forms中ListView上的ItemTapped和ItemSelected事件之间的区别是什么?

C# 什么';Xamarin.Forms中ListView上的ItemTapped和ItemSelected事件之间的区别是什么?,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,Xamarin.Forms中的ListView有两个事件,它们似乎完全相同:和 实际上没有任何关于这些的文档,那么到底有什么区别呢?我认为ItemSelected是在您为项目使用DataTemplate时出现的 ItemSelected是状态,itemstapped是运动事件。所有视图都可以点击,如果我没记错,所有视图都可以被选择(或者至少激活,有细微的区别),这两个视图不必同时进行,但它们通常都可以 例如,每次发生点击运动事件时,都会切换项目的选定状态。再一次,为了更加清楚,您可以将所选状态的

Xamarin.Forms中的
ListView
有两个事件,它们似乎完全相同:和


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

我认为ItemSelected是在您为项目使用DataTemplate时出现的

ItemSelected
状态
itemstapped
运动事件。所有视图都可以点击,如果我没记错,所有视图都可以被选择(或者至少激活,有细微的区别),这两个视图不必同时进行,但它们通常都可以

例如,每次发生点击运动事件时,都会切换项目的选定状态。再一次,为了更加清楚,您可以将所选状态的更改与您需要的任何内容相关联,无论是轻敲长按双击等运动事件,还是与其他事件或逻辑相关联


希望对你有帮助,祝你好运

itemstapped
应在每次单击项目时出现,而
ItemSelected
应在每次更改所选项目时出现

基本上

  • 点击两次同一项目应触发两次
    itemstapped
    ,且仅触发一次
    ItemSelected
  • 在不同的项目上点击两次,应该触发两次
    itemstapped
    和两次
    ItemSelected
选中的项首先出现。
ItemTapped出现在第二位。

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


当设置为“无”时,
ItemSelect
事件将不会触发,
SelectedItem
属性保持
null

但是
itemtrapped
事件将继续按预期触发


如何使用xamarin.forms在列表视图中实现长按?奇怪的是,在第一种情况下,ItemSelected会触发两次。当然,随着版本和平台的不同,实现可能会发生变化。我还记得一个1.x版本的Windows Phone并不总是启动。你应该在bugzilla养一只虫子
<ListView ... SelectionMode="None" />