Я хотел бы изменить источник изображения с white.png на blue.png, когда он будет нажат, мне нужно получить доступ к каждому параметру, когда изображение изменится на white.png и когда это blue.png, также .it будет полезно установить значение true или false, в зависимости от результата изображения.
все это придет в список. и мне нужно получить доступ к каждому человеку, который нажал.
Я пытался:
IValueConveter
public class ConverterAddRemoveImage : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool isAddedToCart = (bool)value;
if (isAddedToCart)
{
return "FilledIcon"; //This will be a string
}
else
{
return "EmptyIcon"; //This will be a string
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
Xaml
<Image Source="{Binding IsAddedToCart, Converter={StaticResource AddRemoveImage}}"/>
Это только показывает мне другое, никогда не становится правдой. В идеале я хотел бы получить доступ к каждому из них и добавить к нему логи c и, очевидно, изменить изображение при каждом постукивании.
Второй подход - проблема здесь заключается в том, что касание происходит только один раз, и я не могу вернуться к предыдущему изображению со вторым касанием, а также я не знаю, как получить доступ к каждой команде. (Я хочу имитировать включение и выключение и на каждом из них что-то делать)
public ImageSource ColorImage { get; set; }
Просмотр модели
public ICommand SwitchIMGCommand
{
get;
set;
}
private void AddImg(object obj)
{
var selection = obj as ExistingModel;
selection.ColorImage = "FilledIcon.png";**
ColorImage= "FilledIcon.png";**I tried this and it doesnt change
to this img
}
private ImageSource imagePath = "white.png";
public ImageSource ColorImage
{
get { return imagePath; }
set
{
imagePath = value;
PropertyChanged(this, new PropertyChangedEventArgs("ColorImage"));
}
}
Конструктор
SwitchIMGCommand = new Command(AddImg);
XAML
<Image
Source="{Binding ColorImage}">
<Image.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding Source={x:Reference listView}, Path=BindingContext.SwitchIMGCommand}" CommandParameter="{Binding .} "
NumberOfTapsRequired="1" />
</Image.GestureRecognizers>
</Image>