В настоящее время я работаю со списком, где собираю изображения. Я делаю это успешно, но теперь я хочу добавить к нему анимацию. Я начинаю с того, что изображения полностью 0 с точки зрения непрозрачности, а затем я хочу увеличить его с помощью .FadeTo(1, 1000, Easing.SinIn);
после того, как изображения будут собраны.Как я могу управлять своими изображениями и создавать анимацию с ним в моем списке?
Поскольку я работаю с списком, я не могу использовать x: name, поэтому я не уверен, как его решить с помощью listview.
Это мой текущий код:
<ListView x:Name="listview" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<AbsoluteLayout>
<Image Source = "{Binding image}" Opacity = "{Binding animation}"/>
</AbsoluteLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Код страницы:
public class info
{
public string image {get; set;}
public int animation {get;set;}
}
List<info> myList = new List<info>();
async void loadCategories()
{
var getInfo = await databaseCS.gettheinfo();
listview.ItemsSource = null;
myList = new List<info>();
foreach (var theitems in getInfo["results"])
{
myList.add (new info()
{
image = theitems["image"].ToString(),
animation = 0
});
}
//how can I now create a FadeTo function to make the images return to 1 again once it has been gathered?
listview.ItemsSource = myList;
}
ОБНОВЛЕНО КОД, когда я использую код CustomImage предоставленный ниже ответ!
BOOL:
public class info : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged = delegate { };
protected virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged == null)
return;
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private bool _result;
public string image {get; set;}
public bool isImageShowing
{
get {
System.Diagnostics.Debug.WriteLine("GET");
return _result;
}
set {
System.Diagnostics.Debug.WriteLine("SET");
_result = value;
OnPropertyChanged("IsImageShowing");
}
}
}
Когда я добавить изображение в список:
myList.add (new info()
{
image = theitems["image"].ToString(),
isImageShowing = true
});
запускает код и появляются образы, но я не вижу никакой анимации. В журнале я получаю «SET» 3 раза, когда я собираю 3 изображения. Последняя часть, чтобы заполнить это, - это подключить public string image {get; set;}
/my <Image>
в xaml к CustomImage
, если я не ошибаюсь, но я не совсем уверен, как этого добиться.
Большое спасибо за этот ответ! Вы проверите его сразу и протестируйте его. – Martman
. Обновит сообщение через несколько минут, чтобы показать мой прогресс. – Martman
Я обновил сообщение сейчас с моей попыткой решить эту проблему с помощью вашего кода CustomImage – Martman