Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Listview 转盘页面xamarin表单显示所选项目的详细信息_Listview_Xamarin_Xamarin.forms_Navigation_Carousel - Fatal编程技术网

Listview 转盘页面xamarin表单显示所选项目的详细信息

Listview 转盘页面xamarin表单显示所选项目的详细信息,listview,xamarin,xamarin.forms,navigation,carousel,Listview,Xamarin,Xamarin.forms,Navigation,Carousel,我有一个列表视图,它显示了一系列的项目,我的想法是单击一个,导航到一个旋转木马页面,并在那里显示它的详细信息 问题:转盘页面还必须知道此项目在主列表中的位置,OnSlide必须显示此选定项目的下一个/上一个项目 已完成: ListView已成功填充并显示可选项。 OnSelectedItem将异步导航推到DetailPage并在那里显示其详细信息 现在的问题是,甚至可以填充旋转木马页面 已经联系过Xamarin团队,他们很乐意帮助我,把我送到这里或论坛,因为他们帮不了我什么忙。。。(已经尝试过论

我有一个列表视图,它显示了一系列的项目,我的想法是单击一个,导航到一个旋转木马页面,并在那里显示它的详细信息

问题:转盘页面还必须知道此项目在主列表中的位置,OnSlide必须显示此选定项目的下一个/上一个项目

已完成:

ListView已成功填充并显示可选项。
OnSelectedItem将异步导航推到DetailPage并在那里显示其详细信息

现在的问题是,甚至可以填充旋转木马页面


已经联系过Xamarin团队,他们很乐意帮助我,把我送到这里或论坛,因为他们帮不了我什么忙。。。(已经尝试过论坛,现在已经等待了将近两个月:s,工作需要交付)。

在推送您的详细页面集之前
CurrentPage

var detailPage = new CarouselPage();
// ...
detailPage.CurrentPage = index;
Navigation.PushAsync(detailPage);

如果以后加载项目,只需引入另一个属性。

然后再推送DetailPage集
CurrentPage

var detailPage = new CarouselPage();
// ...
detailPage.CurrentPage = index;
Navigation.PushAsync(detailPage);
如果以后加载项目,只需引入另一个属性。

我认为“最简单”的方法是使用
列表视图和
旋转页面(或
Xamarin.Forms
Version2.2+中的
CarouselView
)共享相同的
项目资源
,但使用嵌入
导航页面
中的不同
数据模板
s,因此您可以免费推/弹出旋转木马页面

ListView.ItemSelected
事件中,您可以将
CarouselPage
SelectedItem
设置为与
ListView
中选择的项目相同,因为它们共享相同的数据源。然后只需将旋转木马页面推到当前页面,您就完成了……;-)

Xamarin.Forms
2.1使用
CarouselPage
Xamarin.Forms
2.2使用CarouselView预发布: 结果:

注意:在
Xamarin.Forms
2.2版(目前可通过预发行版Nuget获得)中,我强烈建议使用
CarouselView
,它更快、更平均、更流畅、更快乐;-)只需将其嵌入您喜欢的
页面类型
类即可

注:显示的辣酱数据来自,我修改了他的示例以使用
DataTemplate
,因此回收和数据绑定是免费的……

我认为“最简单”的方法是使用
ListView
CarouselPage
(或者
Xamarin.Forms中的
CarouselView
)共享相同的
项目资源
,但使用嵌入
导航页面
中的不同
数据模板
s,因此您可以免费推/弹出旋转木马页面

ListView.ItemSelected
事件中,您可以将
CarouselPage
SelectedItem
设置为与
ListView
中选择的项目相同,因为它们共享相同的数据源。然后只需将旋转木马页面推到当前页面,您就完成了……;-)

Xamarin.Forms
2.1使用
CarouselPage
Xamarin.Forms
2.2使用CarouselView预发布: 结果:

注意:在
Xamarin.Forms
2.2版(目前可通过预发行版Nuget获得)中,我强烈建议使用
CarouselView
,它更快、更平均、更流畅、更快乐;-)只需将其嵌入您喜欢的
页面类型
类即可


注:显示的辣酱数据来自,我修改了他的样本,使用了
DataTemplate
,因此回收和数据绑定是免费的……

在此之前,感谢您的回答。很抱歉,我对Xamarin很陌生,所以这个问题可能看起来有点愚蠢,但是我应该将您在示例中使用CarouselPage编写的所有代码设置在哪里?到目前为止,我已经让App.cs打开了一个新的主页:从MasterDetailPage,并作为详细信息列表页打开。在MVVM arch的帮助下,我目前正在这个列表页面上做大部分的重视图工作,所以我现在有点迷路了,因为所有这些对我来说都是比较新的…@pemq原始代码来自(他在那个网站上有一个到他的Github帐户的链接)好的,找到了,所以你建议我在我已经调用列表页面的地方做所有这些,是吗?@pemq它在他的“OriginalProject”文件夹中好的,所以我想我知道了,当你提到调用SausePage()时,我应该(像adam那样)传递我选择的广告,而不是使用绑定属性,我只是在任何事情之前设置“Text=sauce.Name”,对吗?谢谢你的回答。很抱歉,我对Xamarin很陌生,所以这个问题可能看起来有点愚蠢,但是我应该将您在示例中使用CarouselPage编写的所有代码设置在哪里?到目前为止,我已经让App.cs打开了一个新的主页:从MasterDetailPage,并作为详细信息列表页打开。在MVVM arch的帮助下,我目前正在这个列表页面上做大部分的重视图工作,所以我现在有点迷路了,因为所有这些对我来说都是比较新的…@pemq原始代码来自(他在那个网站上有一个到他的Github帐户的链接)好的,找到了,所以你建议我在我已经调用列表页面的地方做所有这些,是吗?@pemq它在他的“OriginalProject”文件夹中好的,所以我想我知道了,当你提到调用SausePage()时,我应该(像adam那样)传递我选择的广告,而不是使用绑定属性,我只是设置“Text=sauce.Name”,对吗?
var carouselView = new CarouselView ();
carouselView.ItemTemplate = new DataTemplate (() => new SauceView ());
carouselView.ItemsSource = sauces;
var carouselDetailPage = new ContentPage {
    Content = carouselView
};
var listView = new ListView (ListViewCachingStrategy.RecycleElement);
listView.ItemTemplate = new DataTemplate (() => new HotSauceCell ());
listView.ItemsSource = sauces;
listView.ItemSelected += (object sender, SelectedItemChangedEventArgs e) => {
    carouselView.Position = sauces.IndexOf (e.SelectedItem as Sauce);
    (MainPage as NavigationPage)?.PushAsync (carouselDetailPage, true);
};
MainPage = new NavigationPage (new ContentPage {
    Content = listView
});