I would like to capture click events from listview through my viewmodel. Here's what I have so far.
My 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>
My ViewModel.
public void ClickItemList(object sender, ItemClickEventArgs e)
{
var clickedItem = (ListViewItem)e.ClickedItem;
System.Diagnostics.Debug.WriteLine(clickedItem.Content);
}
Unfortunately, ClickItemList is not triggered.
What is the recommended way to capture click in ListViewItem?
You should set the 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>
You need 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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.