如何获取被点击的ListView单元格的数据
How to get the data of the ListView cell being tapped
我们的 itemSource 来自 json 数据,我们对其进行反序列化,以便将其放入 Xaml 列表视图中,但我无法获取被点击的单元格的值。
这是我的.cs
List<Debtor> ro = JsonConvert.DeserializeObject<List<Debtor>>(filteredResult2);
//UPDATE LISTVIEW
CustListView.ItemsSource = ro;
CustListView.ItemSelected += async (sender, e) =>
{
await DisplayAlert("Selected", e.SelectedItem.ToString() + " was selected.", "OK");
// await Navigation.PushAsync(new SalesHeaderPage());
};
这是我的。xaml
<ListView x:Name="CustListView">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<StackLayout Orientation="Vertical" Padding="8,0,8,0">
<Label Text="{Binding debtor_name}" TextColor="#000" FontSize="14" LineBreakMode="TailTruncation" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
你必须施放它
类似
((Debtor)e.SelectedItem).debtor_name;
同时添加 (ListView)sender).SelectedItem = null
,因为如果您再次点击相同的项目,它不会 work.So 您需要清除所选项目。
if (e.SelectedItem == null) return;
var tappedItem = (Debtor)e.SelectedItem;
((ListView)sender).SelectedItem = null;
我们的 itemSource 来自 json 数据,我们对其进行反序列化,以便将其放入 Xaml 列表视图中,但我无法获取被点击的单元格的值。
这是我的.cs
List<Debtor> ro = JsonConvert.DeserializeObject<List<Debtor>>(filteredResult2);
//UPDATE LISTVIEW
CustListView.ItemsSource = ro;
CustListView.ItemSelected += async (sender, e) =>
{
await DisplayAlert("Selected", e.SelectedItem.ToString() + " was selected.", "OK");
// await Navigation.PushAsync(new SalesHeaderPage());
};
这是我的。xaml
<ListView x:Name="CustListView">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<StackLayout Orientation="Vertical" Padding="8,0,8,0">
<Label Text="{Binding debtor_name}" TextColor="#000" FontSize="14" LineBreakMode="TailTruncation" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
你必须施放它
类似
((Debtor)e.SelectedItem).debtor_name;
同时添加 (ListView)sender).SelectedItem = null
,因为如果您再次点击相同的项目,它不会 work.So 您需要清除所选项目。
if (e.SelectedItem == null) return;
var tappedItem = (Debtor)e.SelectedItem;
((ListView)sender).SelectedItem = null;