Итак, у меня есть три изображения, одно из которых перетаскивается на другое два и активирует логику проверки.
Вот перетаскиваемое изображение:
Код: Выделить всё
Вот определения XAML для двух целевых изображений, куда будет перенесено первое:
Код: Выделить всё
Код: Выделить всё
[ObservableProperty]
public double firstImageOpacity = 0.5;
[ObservableProperty]
public double secondImageOpacity = 0.5;
public bool isDroppedSuccessfully;
[ObservableProperty]
public bool isAllow = true;
Код: Выделить всё
[RelayCommand]
private void DragCompleted()
{
if (!isDroppedSuccessfully)
{
IsAllow = true;
}
isDroppedSuccessfully = false;
}
[RelayCommand]
public void DragStarting(Image image)
{
if (image != null)
{
var filename = image.Source.ToString();
TempImage = filename.Replace("File: ", "");
}
}
[RelayCommand]
public void DragOver(Image image)
{
var secondImage = image.Source.ToString().Replace("File: ", "");
IsAllow = true;
if (TempImage == secondImage)
{
IsAllow = true;
return;
}
else
{
if (IsAllow)
{
IsAllow = false;
}
}
}
[RelayCommand]
public void Drop(Image image)
{
IsAllow = true;
isDroppedSuccessfully = true;
image.Opacity = 1;
}
[RelayCommand]
public void DragComplete()
{
if (!isDroppedSuccessfully)
{
IsAllow = true;
}
isDroppedSuccessfully = false;
}
Итак, появляется проблема когда я перетаскиваю изображение на неправильное изображение, и в этом случае я больше не могу переместить его даже на правильное изображение.
Другими словами, если пользователь перетаскивает изображение сразу в правильную карту (изображение) логика работает нормально, но если я перетащу и наведу курсор на неправильную карту (изображение), я больше не смогу переместить изображение в правильную карту. (как на картинке ниже)
Есть ли у кого-нибудь идеи? Может быть, это вообще не ошибка, а проблема с моей логикой проверки, и я неправильно реализую проверку?
Gif работающей тестовой программы: https ://imgur.com/a/80v4lZf
Подробнее здесь: https://stackoverflow.com/questions/783 ... n-net-maui
Мобильная версия