Wygląda na to, że inni mieli wariacje na temat tego pytania, ale z tego, co mogę powiedzieć, nie było adresowane do osób korzystających z kolekcji w modelu z pojedynczym widokiem.MVVM zaznaczanie elementu widoku drzewa programowo
Mam maszynę wirtualną zawierającą obserwowalną kolekcję obiektów, a nie maszynę wirtualną dla każdego obiektu. Dlatego nie sądzę, mogę użyć bool SelectedItem, który jest często omawiany, ponieważ nie sądzę, mogę powiązać z właściwością obiektów kolekcji ... po prostu właściwości na VM.
Tak więc mam wszystko napisane całkiem dobrze, bez kodu źródłowego i minimalnego sprzężenia, ale kiedy do kolekcji zostanie dodany nowy element, który jest powiązany z treeView, muszę wybrać ten element.
Pomysły?
Dzięki!
Może tak. Ja jednak wybrałem środkową drogę. Poszedłem dalej i zaimplementowałem INotifyPropertyChanged na każdym typie obiektów, który ObservableCollection VM trzyma i klepie IsSelected i IsExpanded na nich. Wadą jest to, że moje obiekty mają teraz w sobie gówno (czy to nawet źle?). Dobrą stroną jest to, że nie musiałem tworzyć dodatkowej warstwy maszyn wirtualnych, które zapewniły mi nic poza miejscem przechowywania obiektu i tych dwóch właściwości. – Bob
Jeśli to wszystko, czego potrzebujesz, możesz równie dobrze zrobić to w ten sposób. – Erin