如何在 UWP 中使用 ListView 捕获点击?

How to capture click with ListView in UWP?

我想通过我的视图模型从列表视图捕获点击事件。这是我目前所拥有的。

我的Xaml.

        <ListView RelativePanel.Below="list3" ItemClick="{x:Bind ViewModel.ClickItemList}" RelativePanel.AlignLeftWithPanel="True" RelativePanel.AlignRightWithPanel="True">
            <ListViewHeaderItem Content="Header"></ListViewHeaderItem>
            <ListViewItem Content="Item 1" />
            <ListViewItem Content="Item 2" />
        </ListView>

我的视图模型。

    public void ClickItemList(object sender, ItemClickEventArgs e)
    {
        var clickedItem = (ListViewItem)e.ClickedItem;

        System.Diagnostics.Debug.WriteLine(clickedItem.Content);
    }

很遗憾,没有触发 ClickItemList。

在 ListViewItem 中捕获点击的推荐方法是什么?

您应该设置 IsItemClickEnabled="True"

   <ListView RelativePanel.Below="list3" IsItemClickEnabled="True" ItemClick="{x:Bind ViewModel.ClickItemList}" RelativePanel.AlignLeftWithPanel="True" RelativePanel.AlignRightWithPanel="True">
            <ListViewHeaderItem Content="Header"></ListViewHeaderItem>
            <ListViewItem Content="Item 1" />
            <ListViewItem Content="Item 2" />
        </ListView>

你需要IsItemClickEnabled:

<ListView RelativePanel.Below="list3"
          IsItemClickEnabled="True"
          ItemClick="{x:Bind ViewModel.ClickItemList}"
          RelativePanel.AlignLeftWithPanel="True"
          RelativePanel.AlignRightWithPanel="True">
    <ListViewHeaderItem Content="Header"></ListViewHeaderItem>
    <ListViewItem Content="Item 1" />
    <ListViewItem Content="Item 2" />
</ListView>