如何将数据绑定到 Windows Store 应用程序中的内部列表视图
How to bind data the inner list view in Windows Store apps
这是我将数据绑定到列表视图的代码,无法将数据绑定到 windows 商店应用程序中编写的内部列表视图。
请检查附件中的输出。
ManiPage.xaml.cs:
public class testchild
{
public string data { get; set; }
}
public class Test
{
public string id { get; set; }
public string name { get; set; }
public List<testchild> list { get; set; }
}
List<Test> listoftest = new List<Test>()
{
new Test()
{
id = "4218",
name = "srujana",
list = new List<testchild>()
{
new testchild()
{
data = "hello"
}
}
},
new Test()
{
id = "c7110",
name = "chandu",
list = new List<testchild>()
{
new testchild()
{
data = "hello"
}
}
}
};
lstbx.ItemsSource = listoftest;
xaml:
<ListView Height="300" Width="300" Name="lstbx">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding id}"/>
<TextBlock Text="{Binding name}"/>
<ListView ItemsSource="{Binding list}">
<TextBlock Text="{Binding data}"/>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您已经非常接近正确答案了,您只需要将内部 TextBlock
也放入 ItemTemplate 中,就像您对外部 ListView
.[=14= 所做的一样]
<ListView Height="300" Width="300" Name="lstbx">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding id}"/>
<TextBlock Text="{Binding name}"/>
<ListView ItemsSource="{Binding list}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding data}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这导致:
这是我将数据绑定到列表视图的代码,无法将数据绑定到 windows 商店应用程序中编写的内部列表视图。
请检查附件中的输出。
ManiPage.xaml.cs:
public class testchild
{
public string data { get; set; }
}
public class Test
{
public string id { get; set; }
public string name { get; set; }
public List<testchild> list { get; set; }
}
List<Test> listoftest = new List<Test>()
{
new Test()
{
id = "4218",
name = "srujana",
list = new List<testchild>()
{
new testchild()
{
data = "hello"
}
}
},
new Test()
{
id = "c7110",
name = "chandu",
list = new List<testchild>()
{
new testchild()
{
data = "hello"
}
}
}
};
lstbx.ItemsSource = listoftest;
xaml:
<ListView Height="300" Width="300" Name="lstbx">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding id}"/>
<TextBlock Text="{Binding name}"/>
<ListView ItemsSource="{Binding list}">
<TextBlock Text="{Binding data}"/>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您已经非常接近正确答案了,您只需要将内部 TextBlock
也放入 ItemTemplate 中,就像您对外部 ListView
.[=14= 所做的一样]
<ListView Height="300" Width="300" Name="lstbx">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding id}"/>
<TextBlock Text="{Binding name}"/>
<ListView ItemsSource="{Binding list}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding data}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这导致: