以 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));
}
我是 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));
}