[英]CarouselView xamarin forms conflicting Xamarin forms error
我在使用 Nuget Package Xamarin.Forms.CarouselView
时一直在使用CarouselView
。 我试图将图像显示为自动滑动。
XAML
<StackLayout Grid.Row="0" Grid.ColumnSpan="4">
<cv:CarouselView x:Name="MainCarouselView" Position="{Binding PositionIndex, Mode=TwoWay}">
<cv:CarouselView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding .}"></Image>
</DataTemplate>
</cv:CarouselView.ItemTemplate>
</cv:CarouselView >
</StackLayout>
C#
var image = new ObservableCollection<ImageSource>
{
ImageSource.FromFile("Image1.jpg"),
ImageSource.FromFile("Image2.jpg"),
ImageSource.FromFile("Image3.jpg")
};
MainCarouselView.ItemsSource = image;
Device.StartTimer(TimeSpan.FromSeconds(2), (Func<bool>) (() =>
{
MainCarouselView.Position = (MainCarouselView.Position + 1) % image.Count;
return true;
}));
在设备或模拟器上运行应用程序后,我收到此错误:
严重性代码描述项目文件行抑制状态错误 CS0433 类型“CarouselView”存在于“Xamarin.Forms.CarouselView, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”和“Xamarin.Forms.Core, Version=2.0”中.0.0,文化=中性,PublicKeyToken=null'
我试图删除 Nuget 包并尝试然后CarouselView
保持为空,它也不包含Position
的属性。 任何帮助将不胜感激。
编辑:我已经使用 CarouselView.FormsPlugin Xaml 解决了:
<controls:CarouselViewControl x:Name="MainCarouselView" Grid.Row="0" Grid.ColumnSpan="3" Position="{Binding PositionIndex, Mode=TwoWay}">
<controls:CarouselViewControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding .}"></Image>
</DataTemplate>
</controls:CarouselViewControl.ItemTemplate>
</controls:CarouselViewControl >
并保持cs代码相同。 谢谢你们的帮助。
为 Xamarin 表单使用 CarouselView 控件https://github.com/alexrainman/CarouselView
并确保您遵循以下步骤:
在您的 iOS 和 Android 项目中调用:
主活动.cs :
CarouselView.FormsPlugin.Android.CarouselViewRenderer.Init();
AppDelegate.cs :
CarouselView.FormsPlugin.iOS.CarouselViewRenderer.Init();
在您的 XAML 视图中
xmlns:cv="clr-namespace:CarouselView.FormsPlugin.Abstractions;assembly=CarouselView.FormsPlugin.Abstractions"
你不应该使用Xamarin.Forms.CarouselView插件,因为它已经多年没有更新了......对于那些感兴趣的人,它应该是CarouselPage的优化后继者 - 你可以从 James 的博客中阅读更多关于它的信息发布。 出于某种原因,它已被 Xamarin.Forms 团队完全放弃。
目前最好的解决方案是使用 Alex 的 Rainman CarouselView.FormsPlugin插件,这真是太棒了! 但是,我认为目前它在支持 Xamarin.Forms 3.5 方面存在一些问题( github 问题)
注意:根据您想要实现的具体目标,您可能需要查看 Sharpnado 的HorizontalListView轮播布局,我几乎可以肯定它是基于 Alex 的包。
对于未来,请密切关注CollectionView ,它将成为 Xamarin.Forms 4.0 中全新 CarouselView 的基础。 您可以在这篇博文中阅读更多相关信息(并查看预览)
注意:请避免使用 CarouselPage 以及 Xamarin.Forms.CarouselView
CarouselPage 不支持 UI 虚拟化。 因此,如果 CarouselPage 包含太多子元素,性能可能会受到影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.