Я новичок в C # и WPF, поэтому, пожалуйста, не жарите меня до усердия:)
У меня есть ObservableCollection <> многих объектов, которые я показываю в ListBox с помощью
MyListBox.ItemsSource = MyObservableCollection;
Теперь цель состоит в том, чтобы изменить выбранный элемент, поэтому я делаю следующее:
MyClass selectedObject = MyListBox.SelectedItem as MyClass;
Теперь я могу просто сказать что-то вроде selectedObject.Name = "Something"
, и значениеselectedObject.Name изменяется.Но, к моему удивлению, значение также изменяется в моем исходном объекте ObservabalCollection («MyObservableCollection»).
Это именно то, чего я хочу, но я не понимаю, почему и как это работает.Как selectedObject подключается к исходному объекту внутри ObservableCollection?
Далее я передаю selectedObject в качестве аргумента новому окну для редактирования внутри этого нового окна:
EditObject editObject = new EditObject(selectedObject);
Evenв новом окне я могу просто присвоить новые значения selectedObject, и они также будут изменены в моей коллекции ObservableCollection.
Может кто-нибудь объяснить мне это поведение?:)
Спасибо!