我在Xamarin.Forms的一个页面上有一些图片问题。
基本上,我有5个星星排成一行,用户可以点击其中一个星星来评分。我有2张不同的图片,一张是彩色的星星,另一张是黑色的星星。如果用户点击第3颗星,第1-3颗星将变成彩色,第4-5颗星将变成黑色。如果选择第1颗星,除第1颗星外,其余都为黑色,如果选择最后一颗星,则所有5颗星都为彩色。
这是我的代码:
似乎并不是所有的五角星都在应该更新时被更新了。它们是否加载图像似乎有些随机。有时,如果我点击第四颗星,第三个数字就会消失(就像没有源头一样)。看起来可能是多次使用相同的ImageSource出现了问题,而且同时还有问题。
这是错误的做法吗?
基本上,我有5个星星排成一行,用户可以点击其中一个星星来评分。我有2张不同的图片,一张是彩色的星星,另一张是黑色的星星。如果用户点击第3颗星,第1-3颗星将变成彩色,第4-5颗星将变成黑色。如果选择第1颗星,除第1颗星外,其余都为黑色,如果选择最后一颗星,则所有5颗星都为彩色。
这是我的代码:
ImageSource ratingFill = ImageSource.FromResource("MyProject.Images.starfill.png");
ImageSource ratingNoFill = ImageSource.FromResource("MyProject.Images.starnofill.png");
private void ClickRating(int stars)
{
rating = stars;
switch (stars)
{
case 1:
rating1.Source = ratingFill;
rating2.Source = ratingNoFill;
rating3.Source = ratingNoFill;
rating4.Source = ratingNoFill;
rating5.Source = ratingNoFill;
labelRatingText.Text = "Poor";
break;
case 2:
rating1.Source = ratingFill;
rating2.Source = ratingFill;
rating3.Source = ratingNoFill;
...
}
}
似乎并不是所有的五角星都在应该更新时被更新了。它们是否加载图像似乎有些随机。有时,如果我点击第四颗星,第三个数字就会消失(就像没有源头一样)。看起来可能是多次使用相同的ImageSource出现了问题,而且同时还有问题。
这是错误的做法吗?