我正在从一个页面导航到另一个页面(使用Navigation.PushModalAsync)。第一页有一个列表。第二页有一个列表视图。我想将该列表传递给第二页,然后使用该列表中的数据填充列表视图。我该怎么做?
亲切的问候
更新: 好像我的列表视图没有出现。我尝试手动设置itemsource,下一页仍然是空白。我有这个方法:
protected override void OnAppearing()
{
base.OnAppearing();
var listView = new ListView();
//listView.ItemsSource = dataSource;
listView.ItemsSource = new string[]{
"mono",
"monodroid",
"monotouch",
"monorail",
"monodevelop",
"monotone",
"monopoly",
"monomodal",
"mononucleosis"
};
listView.RowHeight = 40;
}
但下一页仍为空白,背景为红色。要添加到此,我似乎没有listview.ItemSource.Add()方法。
答案 0 :(得分:2)
在这里查看Xamarin Forms中的消息中心,这是一个选项:https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/
或者另一种选择就是在你正在推送的模态的构造函数中传递列表。在我看来,使用消息传递中心是一种更清洁的方式。
答案 1 :(得分:2)
List<string> mydata;
var page2 = new Page2(mydata);
Navigation.PushModalAsync(page2);
第2页中的
List<string> Data { get; set; }
public Page2(List<string> data) {
this.Data = data;
}
public override void OnAppearing() {
MyListView.ItemsSource = Data;
}