Как сохранить / скопировать список из сгруппированного списка в C # - PullRequest
0 голосов
/ 14 декабря 2018

Я должен сохранить список из сгруппированного списка таким образом, чтобы изменение сгруппированного списка не влияло на новый список.

Ниже приведен фрагмент кода.

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 элементов после завершения очистки.Как этого избежать?

...