Tengo una ventana WPF que muestra diferentes vistas autodefinidas. Hasta ahora pude usar todo lo que aprendí sobre MVVM :)Enlazar varias vistas a varios viewmodels
Ahora llegué a un nuevo "problema": tengo 10 entidades de la misma vista en una vista más grande. Estas diez entidades de vista contienen un conjunto de controles (cuadro de texto, cuadro combinado, etc.) pero son consistentes.
Entonces, ¿cómo puedo enlazar estas vistas a un modelo de vista?
Pensé en tener 10 instancias de ViewModel en el modelo de vista de "nivel superior" y dar a las vistas las instancias corregidas de la VM como datacontext.
Mi pregunta es ahora -> ¿Hay alguna manera más fácil (o más conveniente) de vincular muchas vistas (idénticas) a sus modelos de vista?
Código-Ejemplo:
Ver Modelo:
private PanelViewModel _panelViewModel1 = new PanelViewModel();
public PanelViewModel PanelVM1
{
get { return _panelViewModel1; }
}
Vista-Ejemplo:
<myControls:vwPanel HorizontalAlignment="Left" x:Name="vwPanel1"
VerticalAlignment="Top" DataContext="{Binding Path=PanelVM1}"/>
Lo que me molesta es que necesitaría esta lógica diez veces durante diez vistas ?
ACTUALIZACIÓN: para responder a algunas preguntas: Quiero mostrar un punto de vista 10 veces (en mi ejemplo) he definido mi propio punto de vista heredando de control de usuario. Entonces mi vwPanel
hereda de UserControl
. Los 10 paneles vw simplemente se colocan dentro de un StackPanel dentro de una Grilla.
No se trata de mostrar datos, como señaló, habría una vista de lista o una cuadrícula de datos un mejor lugar para comenzar. Es un caso especial en el que necesito esta cantidad de controles de entrada:/
ACTUALIZACIÓN2: Lo que esperaba era más como definir una Lista de modelos de visualización y unir mis 10 vistas a una de esta lista. Pero esto no funcionará, ¿verdad? Al menos no sabría cómo referir una entidad "especial" en la lista de XAML ...
¿Están las diez vistas en la vista más grande especialmente definidas? En otras palabras, ¿hay alguna razón por la que no pueda, por ejemplo, crear una lista y vincular esa lista a un IEnumerable de sus ViewModels y que se muestren de esa manera? – Tim
@Tim Los necesito en el orden correcto para tener entrada y salida en el orden correcto. ¿Sería posible sin tenerlos especialmente definidos? – basti