繁体   English   中英

在Xamarin.CarouselView中不显示图像

[英]Not showing image in Xamarin.CarouselView

我正在使用xamarin构建一个从Web服务获取图像并绑定到轮播视图的应用程序。

但我看不到图像显示。

这是我的xaml。

<StackLayout HeightRequest="250">
                <cv:CarouselView x:Name="carouselViewImage">
                    <cv:CarouselView.ItemTemplate>
                        <DataTemplate>
                            <Image Source="{Binding base}" 
                                   VerticalOptions="Center"
                                   HeightRequest="180" WidthRequest="100"/>
                        </DataTemplate>
                    </cv:CarouselView.ItemTemplate>
                </cv:CarouselView>
            </StackLayout>

这是我的代码

ImageSources = await Task.Run(() =>
            {
                var productViewData = new ProductViewData();
                return productViewData.GetProductImages(Product.id.GetValueOrDefault());
            });

            carouselViewImage.ItemsSource = ImageSources;

我绑定的基础是ImageSource

ImageSources变量

更新:

我尝试另一种创建新类的方法:

class ImageTest
{
    public ImageSource Image { get; set; }
}

并使用foreach创建ImageSource的新列表

ImageSources = await Task.Run(() =>
            {
                var productViewData = new ProductViewData();
                return productViewData.GetProductImages(Product.id.GetValueOrDefault());
            });
            var testImage = new List<ImageTest>();
            //Add this foreach 
            foreach (var imageSource in ImageSources)
            {
                testImage.Add(new ImageTest { Image = imageSource });
            }


            carouselViewImage.ItemsSource = testImage;

并更改XAML

 <Image Source="{Binding Image}" VerticalOptions="Center" HeightRequest="180" WidthRequest="100"/>

而且就可以了。 但我不要这个=(

感谢您的帮助。

根据您的评论ItemsSourceList<ImageSource> 在那种情况下,绑定是错误的,这是应该做的:

<Image Source="{Binding}"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM