ListView
в Xamarin.Forms имеет два события, которые кажутся совершенно одинаковыми: ItemTapped и ItemSelected
На самом деле нет никакой документации об этом, так в чем же разница?
ListView
в Xamarin.Forms имеет два события, которые кажутся совершенно одинаковыми: ItemTapped и ItemSelected
На самом деле нет никакой документации об этом, так в чем же разница?
ItemSelected
— это состояние, а ItemTapped
— это событие движения. Все представления могут быть нажаты, и, если я правильно помню, все представления могут быть выбраны (или, по крайней мере, активированы, есть тонкая разница), эти два вида не обязательно должны идти вместе, но обычно это происходит.
Например, у вас будет переключаться состояние выбранного элемента каждый раз, когда происходит событие движения нажатие. Еще раз, чтобы было более понятно, вы можете связать изменения выбранного состояния с тем, что вам нужно, будь то событие движения, такое как нажатие или долгое нажатие или двойное нажатие касание и так далее или к какому-либо другому событию или логике.
Надеюсь, это поможет и удачи!
ItemTapped
должно появляться каждый раз, когда вы нажимаете на элемент, а ItemSelected
каждый раз, когда выбранный элемент изменяется.
В основном
ItemTapped
и только один раз ItemSelected
ItemTapped
два раза и ItemSelected
два разаItemSelected происходит первым. ItemTapped происходит вторым.
Стоит отметить одно существенное различие: как они работают, когда SelectionMode="None"
<ListView ... SelectionMode="None" />
Если установлено значение «Нет», событие ItemSelect
не сработает, а свойство SelectedItem
останется null
.
Но события
ItemTapped
будут продолжать срабатывать, как и ожидалось.
Я думаю, что ItemSelected — это когда вы используете DataTemplate для своих элементов.