如何在列表视图中点击该项目并将其发送到另一个页面

时间:2017-07-13 11:14:15

标签: xamarin.forms

我是xamarin表单的新手,我做了一些退出谷歌搜索没有找到太多 我有一个类帐户,ListView中的列表,我希望得到该项目,如果有人可以帮助,在另一页面显示有关该项目的更多详细信息

2 个答案:

答案 0 :(得分:5)

这是一个很好的起点Interactivity

ListView支持一次选择一个项目。选择默认为启用。当用户点击一个项目时,会触发两个事件:ItemTapped和ItemSelected。请注意,同时点击同一项目不会触发多个ItemSelected事件,但会触发多个ItemTapped事件。另请注意,如果取消选择某个项,则会调用ItemSelected。

请注意,取消选择项目和选择项目时,都会调用ItemSelected。这意味着您需要先在ItemSelected事件处理程序中检查null SelectedItem,然后才能使用它:

void OnSelection (object sender, SelectedItemChangedEventArgs e)
{
  if (e.SelectedItem == null) {
    return; //ItemSelected is called on deselection, which results in SelectedItem being set to null
  }
  DisplayAlert ("Item Selected", e.SelectedItem.ToString (), "Ok");
  //((ListView)sender).SelectedItem = null; //uncomment line if you want to disable the visual selection state.
}

如果你想推送一个页面,你可以

Navigation.PushAsync(new MyPage(e.SelectedItem));

答案 1 :(得分:0)

  **Use ItemSelected event for list item tapped,like this**        

    <ListView  ItemsSource="{Binding TopicList}" HasUnevenRows="True" ItemSelected="PlayVideo">
       <ListView.ItemTemplate>
           <DataTemplate>
               <ViewCell>
                    <ViewCell.View>
                         //implement code here
                    </ViewCell.View>
                </ViewCell>
            </DataTemplate>
       </ListView.ItemTemplate>
  </ListView>

  On .cs file:
  public void PlayVideo(object sender, SelectedItemChangedEventArgs e)
   {
       TestList testView = new TestList();            
       Navigation.PushAsync(testView);
   }