簡體   English   中英

在 ListView 上選擇的項目以及有關 object 的更多信息(Xamarin.Forms、C #)

[英]ItemSelected on ListView and more information about the object (Xamarin.Forms, C #)

我有個問題。 在我的 xamarin.forms 應用程序中,我有一個作為源的列表視圖:

var tr = JsonConvert.DeserializeObject<Items>(content);
myList.ItemsSource = tr.cars;

此數據的類:

public class Items
{
    public List<Car> cars { get; set; }
}
public class Car
{
    public int id { get; set; }
    public string company { get; set; }
    public Owner owners { get; set; }
}
public class Owner
{
    public int o_id { get; set; }
    public string o_surname { get; set; }
}

我想通過單擊列表視圖中的 object 來查看更多信息。 我在 xaml ItemSelected="OnSelection" 和代碼中使用它:

void OnSelection(object sender, ItemTappedEventArgs e)
        {
        Car myitem = sender as Car;
        DisplayAlert("ItemSelected", $"{myitem.company.ToString()}", "Ok");
        }

這給了我錯誤:Object 引用未設置為 object 的實例。

我找到了一些關於所選項目的信息,但沒有一個能解決我的問題。

ItemTappedEventArgs包含對您的項目的引用

void OnSelection(object sender, ItemTappedEventArgs e)
{
    Car myitem = e.Item as Car;
    DisplayAlert("ItemSelected", $"{myitem.company.ToString()}", "Ok");
}

另一種通過sender獲取項目的方式供您參考。

改變:

Car myitem = sender as Car;

至:

Car myitem = (Car)((ListView)sender).SelectedItem;

結果:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM