Xamarin 图像源绑定回退到列表视图中的模型

蔚蓝

我有 1 个图像,但它应该能够在 Listview 中接收 2 个绑定路径之一

 <Label  x:Name="something" Text="{Binding name}" FontSize="Large" FontAttributes="Bold"/>
                                        <ffimageloading:CachedImage HorizontalOptions="Center" VerticalOptions="Center"
                                            WidthRequest="150" HeightRequest="150"
                                            DownsampleToViewSize="true"
                                            Source="{Binding images[0].src, }">

                                        </ffimageloading:CachedImage>

该产品是 2 种单品或多品中的一种

如果它是多,则绑定从

 Source="{Binding images[0].src }">

 Source="{Binding image.src }">

注意:我使用的是 API 包装器,所以我的模型是一种预设我看到文档提到回退不能有绑定

对此的任何解决方案

Jack Hua

当您的数据从 API 返回时,您可以处理逻辑:

让我们假设如果您像单个模型一样从 API 获取数据,您可以:

    myModel model = new myModel() { name = "test", type = "single" , image = new myImage() { src ="myUrl"} };

    if (model.type is "single")
    {
        model.imageUrl = model.image.src;
    }
    else
    {
        model.imageUrl = model.images[0].src;
    }

如果你从像 ObservableCollection 这样的 API 获取数据,你可以:

    ObservableCollection<myModel> itemModels = new ObservableCollection<myModel>();
    itemModels.Add(new myModel() { name = "test", type = "single", image = new myImage() { src = "myUrl" } });
    itemModels.Add(new myModel() { name = "test", type = "Multi", image = new myImage() { src = "myUrl" } , images = new List<myImage> { new myImage() { src = "url"} } });

    foreach (myModel item in itemModels)
    {
        if (item.type is "single")
        {
            item.imageUrl = model.image.src;
        }
        else
        {
            item.imageUrl = model.images[0].src;
        }
    }

然后在 xaml 中,绑定到imageUrl

    <ffimageloading:CachedImage HorizontalOptions="Center" VerticalOptions="Center"
                                        WidthRequest="150" HeightRequest="150"
                                        DownsampleToViewSize="true"
                                        Source="{Binding imageUrl}">

    </ffimageloading:CachedImage>

这是我为测试创建的一些模型:

public class myModel {

    public string name { get; set; }

    public string type { get; set; }

    public string imageUrl { get; set; }

    public List<myImage> images { get; set; }
    public myImage image;
}

public class myImage {
    public string src { get; set; }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xamarin 列表视图图像绑定

Xamarin表单图像未显示在列表视图中

在Xamarin表单上动态绑定图像源

xamarin 中的列表视图中的空视图

在视图页面Xamarin中绑定多个模型

相对源绑定Xamarin

在Xamarin android中将json数组响应绑定到列表视图中的列表行

Xamarin表单:在列表视图中获得控制

Xamarin:更改列表视图中的标签文本

列表视图中的 xamarin 表单设计

Xamarin 图像源

Xamarin列表视图SelectedItem ViewModel绑定

xamarin 中列表视图的数据绑定

简单注入器回退到Xamarin Forms DependencyService

使用图像或标签切换行为-ON -OFF-以xamarin形式在列表视图内绑定图像

如何在 Xamarin 中将数据从视图绑定到视图模型?

Xamarin表单中的视图到不同视图模型的绑定

如何在Xamarin Forms的列表视图中的多个项目中添加图像单元格

如何绑定到 C# Xamarin Forms 中的视图模型?

Xamarin UWP似乎绑定到错误的视图模型

更改视图模型中的 xamarin.forms 绑定

Xamarin Forms - 调用事件“ItemSelected”时使自定义单元格绑定到原始列表视图项源

如何在Xamarin的内容视图中设置背景图像

Xamarin.Forms Shared在Android视图中不显示图像,但在iOS视图中显示图像

垂直列表视图中的 Xamarin Forms Center 项目

Xamarin 表单:如何从列表视图中隐藏重复的月份名称?

如何禁用列表视图中的单击?xamarin.form

Xamarin表单列表视图中的发现和元素

以 Xamarin 形式在列表视图中添加和显示数组项