Witam,
Piszę aplikację, w której jest wizualizacja obiektów 3D (HelixToolkit) oraz treeview przedstawiające te obiekty w sposób hierarchiczny (można je grupować, przenosić, kopiować itp.). Aktualnie stanąłem przed problemem bindowania danych. Treeview zbudowane za pomocą HierarchicalDataTemplete, gdzie elementy bindowane są z hierarchicznym viewmodelem, wszystko działa poprawnie. Teraz zastanawiam się jak to zrobić, żeby zbudować viewmodel dla widoku 3d. Wpadłem na pomysł, że można stworzyć drugi viewmodel zawierający wyłącznie prostą, niehierarchiczna kolekcje obiektów 3d, których pola zawierałyby informacje potrzebne do wyświetlania. Jednak dwa viewmodele muszą się jakoś komunikować, choćby w przypdaku usunięcia danego elementu z treeview, musi być on także usuwany z viewport'u. Czytałem o możliwości wykorzystania w tym celu interfejsu INotifyPropertyChanged, ale nie wiem czy to dobrze rozumiem. Czy jest w ogóle możliwe zbudowanie obiektu modelu, do przechowywania danych, które aktualizowałyby się podczas gdy w którymkolwiek z viewmodel'i nastąpiłaby zmiana właściwości jakiegoś obiektu. Jestem stosunkowo nowy w .NET, więc proszę o wyrozumiałość gdyby okazało się, że nie znam pewnych podstaw.
Z góry dziękuję za wszelkie podpowiedzi.