【问题标题】:UWP ListView ItemClickUWP ListView ItemClick
【发布时间】:2016-04-25 16:41:03
【问题描述】:

我为ListView 定义了ItemClick 事件处理程序。事件处理程序被调用,但是当我第一次单击ListViewItem 时,ListViewSelectedItem 为空,SelectedIndex-1。但是,当ListView 中未选择任何内容时,我也想在第一次单击时检索SelectedItem。还有其他解决方案吗?谢谢。

【问题讨论】:

    标签: xaml win-universal-app


    【解决方案1】:

    正如 miskohut 指出的,您可以使用ItemClickEventArgs,这是一个示例

            private void listView_ItemClick(object sender, ItemClickEventArgs e)
            {
               MyItemModel item = (MyItemModel)e.ClickedItem;
               //TODO:
            }
    

    【讨论】:

      【解决方案2】:

      答案很简单。

      `ItemClickEventArgs`
      

      包含属性ClickedItem,这是ListViewDataContext类型。

      【讨论】:

        【解决方案3】:

        更适合点击事件,获取被点击的项目索引。例如,

          private void Column_ItemClick(object sender, ItemClickEventArgs e)
          {
             ListView listView = (ListView)sender;
             Tile clickedMenuItem = (Tile)e.ClickedItem; // Typecast the clicked menu item back to the content type of each list view item
        
             // Key line is here:
             int itemNumber = listView.Items.IndexOf(clickedMenuItem);
          }
        

        在上面listView.ItemClick += Column_ItemClick事件的点击事件中,itemNumber整数是被点击的列表视图项的索引。

        此解决方案避免了选定项目的-1 索引响应,因为选择项目的点击事件仅在第二次单击菜单后发生。

        【讨论】:

          猜你喜欢
          • 2017-03-11
          • 2017-10-11
          • 1970-01-01
          • 2013-12-11
          • 1970-01-01
          • 1970-01-01
          • 2016-07-30
          • 2021-01-29
          • 1970-01-01
          相关资源
          最近更新 更多