0
Я пытаюсь изменить некоторые элементы в списке (так называемый treeNodes
):Редактировать некоторые элементы в C# список
List<TreeNodeViewModel> treeNodes = GetAllTreeNodes();
foreach (var item in role.Privileges)
{
TreeNodeViewModel treeNode = treeNodes.Single(tn => tn.id == item.Id.ToString());
treeNode.state.IsChecked = true;
}
Но когда treeNode.state.IsChecked = true;
выполняется, все элементы списка будут иметь IsChecked = true
, почему это? Он должен редактировать только выбранный элемент.
это выглядит как проблема с глубокой копией. присваиваете ли вы каждой переменной 'state' каждому узлу? –
Что именно вы подразумеваете под «выбранным пунктом»? Вы делаете это для _all_ 'Privileges', вы намеревались это сделать? –
Я сделал treeNode.state = new NodeStateViewModel (false, false, false, true); и решил вопрос – Samirovic