Ich kann nur etwas offensichtlich hier fehlen, so entschuldige ich mich, wenn das eine wirklich dumme Frage ist. Ich habe ein WrapPanel in einer Ansicht, die ich an eine ObservableCollection im ViewModel binden muss. Diese ObservableCollection enthält einen anderen Typ von ViewModel, der bei Anzeige im WrapPanel an einen anderen Ansichtstyp gebunden werden muss. Das Ziel besteht darin, eine Wrappbare Liste von Elementen zu erstellen, von denen jedes über eine Instanz einer kleineren Ansicht angezeigt wird, die dem WrapPanel hinzugefügt werden soll.ObservableCollection-Elemente an UserControl in WrapPanel binden?
Ich verwende MVVM, und das ViewModel hat keinen direkten Zugriff auf die Ansicht. Ich würde lieber nicht eine Bindung zwischen dem ViewModel und der Ansicht erstellen, wenn es überhaupt möglich ist. Daher ist das manuelle Hinzufügen von Elementen zur WrapPanel.Children-Auflistung keine praktikable Option. Ich weiß nicht, wie ich eine Sammlung untergeordneter ViewModel-Objekte so an das WrapPanel binden kann, dass sie Instanzen einer anderen Ansicht erstellen und sie sich selbst hinzufügen. Komme ich das Problem einfach falsch an? Ich denke, es ist wahrscheinlich ein DataTemplate beteiligt, aber es scheint nicht, dass ein WrapPanel eine DataTemplate hat, noch ist es bindbar.
Danke für jede Einsicht.
Es klingt für mich wie Ihre haben eine Situation, wo Sie verschiedene Viewmodels alle in der gleichen Sammlung haben. Jedes dieser Ansichtsmodelle hat seine eigene zugeordnete Ansicht. Wenn Sie diese VMs in einem Container anzeigen, möchten Sie, dass jede Ansicht um eine zusätzliche Ebene gewickelt wird? (Wie ein gemeinsamer Rand um jedes einzelne Element?) –
Die Sammlung enthält den gleichen Typ, in diesem Fall ServiceMonitorViewModel. Ich muss sie nur in einem Wrapper-Container in ihrer übergeordneten Ansicht anzeigen. – jrista