Код: Выделить всё
public class GroupData : ObservableCollection
{
public string Name { get; private set; }
public GroupData(string name, ObservableCollection d) : base(d) { Name = name; }
}
public class DetailData
{
public int Nr { get; set; }
public string Detail { get; set; }
}
Код: Выделить всё
public ObservableCollection GetData()
{
ObservableCollection data = new ObservableCollection();
data.Add(new GroupData("Group1", new ObservableCollection
{
new DetailData { Nr = 1, Detail = "Test 1" },
new DetailData { Nr = 3, Detail = "Test 2" }
}));
data.Add(new GroupData("Group2", new ObservableCollection
{
new DetailData { Nr = 3, Detail = "Test 3" },
new DetailData { Nr = 4, Detail = "Test 4" }
}));
return data;
}
Код: Выделить всё
public ObservableCollection GroupData { get; } = new ObservableCollection();
Нажатие на нее должно удалить выбранный элемент
Код: Выделить всё
[RelayCommand]
private async Task ButtonOk(DetailData data)
{
foreach (var item in GroupData)
{
foreach (var child in item)
{
if (child.Nr == data.Nr)
{
item.Remove(child);
break;
}
}
}
}
Код: Выделить всё
Но при добавлении ВТОРАЯ «Группа 2», к сожалению, завершается с ошибкой
**Java.Lang.IllegalStateException: 'У указанного дочернего элемента уже есть родительский элемент. Сначала вы должны вызвать метод removeView() для родителя дочернего элемента.'
**
Что я делаю не так?
Спасибо!!!
Подробнее здесь: https://stackoverflow.com/questions/792 ... p-item-exi
Мобильная версия