以 xamarin 形式将数据从 listView 传递到 tabPage

Pass data from listView to tabPage in xamarin forms

我是 xamarin 表单的新手,我正在尝试制作一个类似于您在下一张图片中看到的项目。 photo

我想要实现的是,当我从 listView 中按下一个项目(我已经有了显示的项目)时,我想要将所有项目以某种方式将整个对象传递给 tabPage,以便我可以看到一部分的描述和另一页的意见。我做了一些研究,但我看到的所有示例都使用 MVVM,而我的示例比这更简单。 代码在这里。

--->型号

public class Item
{
    public String name;
    public String description;
    public Double price;
    public int stock;
    public List<String> opinions;

    public Item(String name, String description ,Double price, int stock, List<String> opinions)
    {
        this.name = name;
        this.description = description;
        this.price = price;
        this.stock = stock;
        this.opinions = opinions;
    }
    public override string ToString()
    {
        return this.name + " " + this.price + " $" + this.stock + " ud";
    }
}

---> 将我带到 TabPage 的事件。

 private async void parent_listView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        //here maybe I should pass the object...
        await Navigation.PushAsync(new TabPage());
    }

---> 这里你有两个 类 在 tabPage

中使用
 public partial class Datos : ContentPage
{
    //private string descriptionList;
    public Datos()
    {
        InitializeComponent();
        
    }
    
}


public partial class Opinions : ContentPage
{
    public Opinions()
    {
        InitializeComponent();
    }
   
}

问题是我不知道如何以简单的方式将特定位置的对象从 listView 传递到 tabPage 的两个页面。我尝试使用 TabPage 构造函数同时传递 类(Datos 和 Opinions),但它不起作用。这里有代码...

private async void parent_listView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        
        await Navigation.PushAsync(new TabPage(new Datos(itemList[e.SelectedItemIndex] ), new Opinions(itemList[e.SelectedItemIndex] )));
    }

SelectedItemChangedEventArgs 包含对所选对象的引用

private async void parent_listView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
    var item = (Item)e.SelectedItem;

    await Navigation.PushAsync(new TabPage(item));
}