Я пытаюсь создать карточную игру в WPF и получаю сообщение об ошибке: Указанный визуальный элемент уже является дочерним элементом другого визуального элемента или корнем CompositionTarget. У меня есть окно со списком в нем (с именем: handListview). Источник элементов списка установлен на
ObservableCollection<System.Windows.Controls.Image>
называется _hand.
Когда я наводил курсор на изображение, он показывает увеличение наведенного изображения, когда событие mousemove добавляет источник наведенного изображения в элемент управления Image (называемый LargeCardPreview) .source рядом с холстом воспроизведения.
Когда я дважды щелкаю изображение, я удаляю его из _hand и добавляю в качестве дочернего элемента на игровой холст с именем playCanvas. (Я использую playCanvas.Children.Add).
Вот где возникает проблема: когда я дважды щелкаю изображение, я удаляю карту из коллекции _hand (что на первый взгляд может отключить элемент от HandListView, поскольку он был привязан к коллекции) и запускает событие «OnCardPlayed». . В этом даже я добавляю карту в коллекцию playCanvas.Children. Но потом я получаю ошибку.
Я подумал, что это может быть из-за того, что LargeImagePreview блокировал его, поэтому я установил источник на Null. Без изменений.
Так что я предполагаю, что это потому, что, хотя я удаляю карту из наблюдаемой коллекции _hand, изображение не отключается немедленно. Итак, как мне принудительно отключиться?
Надеюсь, что мой вопрос достаточно ясен.