Może brakuje mi czegoś oczywistego, więc przepraszam, jeśli to naprawdę głupie pytanie. Mam WrapPanel w widoku, które muszę powiązać z ObservableCollection na ViewModel. Ta ObservableCollection zawiera inny typ ViewModel, który musi być powiązany z innym typem widoku, gdy jest wyświetlany w WrapPanel. Celem jest stworzenie opakowującej listy elementów, z których każda jest wyświetlana za pomocą przykładu mniejszego widoku, który powinien zostać dodany do WrapPanel.Powiązanie elementów ObservableCollection z UserControl w WrapPanel?
Używam MVVM, a ViewModel nie ma bezpośredniego dostępu do widoku. Wolałbym nie tworzyć powiązania między ViewModel i View, jeśli to w ogóle możliwe, więc ręczne dodawanie elementów do kolekcji WrapPanel.Children nie jest realną opcją. Nie mam pojęcia, w jaki sposób mogę powiązać kolekcję potomnych obiektów ViewModel z WrapPanel w taki sposób, że utworzą one instancje innego widoku i dodadzą je do siebie. Czy po prostu podchodzę do problemu nieprawidłowo? Sądzę, że jest prawdopodobnie zaangażowany DataTemplate, ale nie wydaje się, że WrapPanel ma DataTemplate, ani nie jest to bindable.
Dzięki za wszelki wgląd.
Wydaje mi się, że masz sytuację, w której różne modele wyświetlania znajdują się w tej samej kolekcji. Każda z tych modeli widokowych ma swój własny widok. Po wyświetleniu tych maszyn wirtualnych w kontenerze chcesz, aby każdy widok był zawijany o dodatkowy poziom? (Jak commond border wokół każdego oddzielnego elementu?) –
Kolekcja zawiera wszystkie tego samego typu, w tym przypadku ServiceMonitorViewModel. Muszę wyświetlić je w opakowaniu z możliwością opakowania w widoku rodzica. – jrista