c# mvvm xamarin viewmodel xamarin.forms

c# - Encuadernación de datos al elemento Listview infantil en xamarin



mvvm viewmodel (1)

Podrías probar algo como esto:

<ListView ItemSource="{Binding ParentSource}"> <ListView.ItemTemplate > <DataTemplate> <ViewCell> <ViewCell.ContextActions> <MenuItem Text="Delete" /> </ViewCell.ContextActions> <ViewCell.View> <Label Text="{Binding Prop1}"/> <ListView ItemSource="{Binding ChildSource}"> <ListView.ItemTemplate > <DataTemplate> <ViewCell> <ViewCell.View> <Grid x:Name="RootGrid" BindingContext="{Binding}"> <Label Text="{Binding BindingContext.ChildProp1, Source={x:Reference RootGrid}}"/> </Grid> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView>

Me funcionó, ¡espero que te ayude!

Intento crear un control de vista de lista en formularios Xamarin. La vista de lista contiene otra vista de lista en su plantilla de datos. Los datos se vinculan desde el modelo de vista. Pero al principio, la vista de lista interna no muestra ningún dato. Pero mostrará datos si intentó desplazarse por la lista.

<ListView ItemSource="{Binding ParentSource}"> <ListView.ItemTemplate > <DataTemplate> <ViewCell> <ViewCell.ContextActions> <MenuItem Text="Delete" /> </ViewCell.ContextActions> <ViewCell.View> <Label Text="{Binding Prop1}"/> <ListView ItemSource="{Binding ChildSource}"> <ListView.ItemTemplate > <DataTemplate> <ViewCell> <ViewCell.View> <Label Text="{Binding ChildProp1}"/> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView>

ParentSource es el objeto de fuente de datos para la lista principal. Childsource es el objeto para la vista de lista infantil. Y se define como una propiedad en el lado de la fuente padre.

¿que me estoy perdiendo aqui?

Notifyproperty se implementa para la propiedad ParentSource.