c# - ImageCell 不显示可绘制的图像
问题描述
您好,如果我违反任何习俗,我深表歉意,这是我第一次在这里问。
我正在尝试创建一个 ListView,其 ItemSource 为 an 并由ObservableCollection<Opinion>
ImageCell 组成。
Opinion
是一个类,其方法确定可绘制的五张图片中的哪一张成为所述图像的来源。
这是意见类代码:
public class Opinion
{
public string User { get; set; }
public string Declaration { get; set; }
public int Rating { get; set; }
public string RatingSource;
public Opinion() { }
public Opinion(string user, string declaration, int rating)
{
this.User = user;
this.Declaration = declaration;
this.Rating = rating;
this.RatingSource = getRating(rating);
}
private string getRating(int rating)
{
switch (rating)
{
case 1:
return ("OneStar.png");
case 2:
return ("TwoStar.png");
case 3:
return ("ThreeStar.png");
case 4:
return ("FourStar.png");
case 5:
return ("FiveStar.png");
default:
return ("");
}
}
}
}
ListView 的 XAML:
<ContentPage Title="Oponions">
<StackLayout>
<ListView x:Name="OpinionsView" ItemsSource="{Binding opi}" HasUnevenRows="True" IsEnabled="False">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell ImageSource="{Binding RatingSource}"
Text="{Binding Declaration}"
TextColor="AntiqueWhite"
Detail="{Binding User}"
DetailColor="LightGray" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
以及它的 C# 代码:
namespace Interfaces23
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class DeepArticle : TabbedPage
{
ObservableCollection<Opinion> opi { get; set; } = new ObservableCollection<Opinion>();
public DeepArticle(Article articulo)
{
InitializeComponent();
opi = articulo.Opinions;
OpinionsView.ItemsSource = opi;
lbDescription.Text = articulo.Description;
lbPrecio.Text = "Precio: " + articulo.Price;
Image img = new Image();
lbPrueba.Text = articulo.Opinions[0].RatingSource;
}
}
}
除了图像之外,每个绑定都可以正常工作并正确显示信息。据我了解,RatingSource 应该将“FiveStar.png”作为字符串返回,然后它应该作为 ImageCell 内的 ImageSource 的值,但我必须遗漏一些东西。
解决方案
没关系,我只是个白痴。忘记了{get; 设置;} 为 RatingSource。
我会把这个留在这里,以防有人遇到同样的问题和同样愚蠢的解决方案。
推荐阅读
- arrays - 如何仅快速删除数组的 5 个特定项目中的 3 个
- apache - Web 服务器“内容类型”未在 Apache 上正确配置
- node.js - NodeJS如何在不同的文件中使用connect obj
- gradle - Unity Gradle Build Fail: processReleaseManifest 由于属性冲突
- google-cloud-platform - Redis 是否可以从其 RDB 备份过程中使用多个内核中受益?
- flutter - 在 Flutter 上,我想从硬盘驱动器获取图像并随机显示
- pandas-groupby - 用groupby中的2个变量计算滚动总和
- rust - 如何在函数中调用 FLTK 代码?
- json - 如何将虚拟数据添加到嵌套的 JSON 结构
- docker - 防止在 docker 镜像标签中插入端口号