Я должен сохранить список из сгруппированного списка таким образом, чтобы изменение сгруппированного списка не влияло на новый список.
Ниже приведен фрагмент кода.
public class ItemSignHeaderItem
{
public int ItemType { get; set; }
public string ItemText { get; set; }
public bool IsExpanded { get; set; }
public Grouping<string, TicketItem> Collection { get; set; }
}
public ObservableCollection<Grouping<string, TicketItem>> ItemSignsListNew
{
get { return _itemSignsListNew; }
set { _itemSignsListNew = value; OnPropertyChanged();}
}
var ItemSignHeaderItem = (ItemSignHeaderItem)e.Value[0];
ItemSignHeaderItem.Collection =
ItemSignsListNew.Where(l => l.Key.Equals(ItemSignHeaderItem.ItemText)).Select(l => l).Single();
// очистка списка из сгруппированного списка
for (int i = 0; i < ItemSignsListNew.Count; i++)
{
if (!ItemSignsListNew[i].Key.Equals(ItemSignHeaderItem.ItemText)) continue;
if (ItemSignHeaderItem.IsExpanded)
ItemSignsListNew[i].Clear();
}
Теперь ItemSignHeaderItem.Collection будет содержать 0 элементов после завершения очистки.Как этого избежать?