Как реагировать на клики в TableView?

Звучит довольно просто, но я не нашел ничего подобного в Интернете. Как добавить прослушиватели кликов в строки данных в TableView?


person nicks    schedule 12.07.2016    source источник
comment
Вы можете опубликовать фрагменты кода   -  person PEO    schedule 12.07.2016


Ответы (2)


Вы можете добавить TapGestureRecognizer к корневому элементу вашего пользовательского ViewCell. Таким образом, вы можете привязать распознаватель жестов к команде с параметрами команды.

<Grid.GestureRecognizers>
    <TapGestureRecognizer NumberOfTapsRequired="1" Command="{Binding CustomCommand}" CommandParameter="{Binding Thing}" />
</Grid.GestureRecognizers>
person Steven Thewissen    schedule 12.07.2016

Хорошо, что я обнаружил до сих пор, так это то, что, хотя вы не можете добавлять прослушиватели ввода любого типа к самому TabeView, вы можете добавить прослушиватель событий Tapped к ViewCells внутри него. Кажется, это работает:

var cell = new CustomCell();
cell.Tapped += OnCellTapped;
tableView.Root.LastOrDefault().Add(cell);
....
private void OnWalletTapped(object sender, EventArgs e)
{
    Debug.WriteLine(sender.GetHashCode());
}
person nicks    schedule 12.07.2016