У меня проблемы с изображениями на одной из моих страниц в Xamarin.Forms.
Обычно у меня выстроены в ряд 5 звезд, и пользователь может щелкнуть одну из звездочек, чтобы поставить оценку. У меня есть два разных изображения: одно - цветной звезды, а другое - черной. Если пользователь щелкнет звездочку номер 3, звездочка 1-3 изменится на цветную, а звездочка 4-5 станет черной. Если вы выберете номер 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;
...
}
}
Кажется, что не все 5 звезд обновляются, когда должны. Это немного случайно, загружают ли они изображение или нет. Иногда, если я нажимаю звездочку 4, цифра 3 просто исчезает (как будто у нее нет источника). Похоже, может возникнуть проблема с использованием одного и того же ImageSource несколько раз в одно и то же время.
Это неправильный способ сделать это?