Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据绑定到xamarin中的子Listview元素_C#_Mvvm_Xamarin_Viewmodel_Xamarin.forms - Fatal编程技术网

C# 将数据绑定到xamarin中的子Listview元素

C# 将数据绑定到xamarin中的子Listview元素,c#,mvvm,xamarin,viewmodel,xamarin.forms,C#,Mvvm,Xamarin,Viewmodel,Xamarin.forms,我正在尝试以Xamarin表单创建列表视图控件。列表视图的datatemplate中包含另一个listview。正在从viewmodel绑定数据。但首先,内部列表视图不显示任何数据。但如果尝试滚动列表,将显示数据 <ListView ItemSource="{Binding ParentSource}"> <ListView.ItemTemplate > <DataTemplate> <ViewCell

我正在尝试以Xamarin表单创建列表视图控件。列表视图的datatemplate中包含另一个listview。正在从viewmodel绑定数据。但首先,内部列表视图不显示任何数据。但如果尝试滚动列表,将显示数据

<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是父列表的数据源对象。Childsource是子列表视图的对象。并将其定义为parentdatasource中的属性

我错过了什么


Notifyproperty是为ParentSource属性实现的。

您可以尝试以下操作:

<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>


它为我工作,希望它能帮助你

你能给我们看一下你想绑定到这个列表的数据吗?我不确定你是否对这个嵌套列表做得很好。不过在UWP上效果很好。@JoakimM实际上,这是一个糟糕的方法。我们应该使用分组的
ListView
。(滚动至ListView部分)。