这是我将数据绑定到列表视图的代码,无法将数据绑定到windows store app中编写的内部列表视图。
请查看附件中的输出图片。
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>
答案 0 :(得分:0)
你已经非常接近正确答案了,你只需要将内部TextBlock
放在ItemTemplate中,就像你对外部ListView
所做的那样。
<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>
这导致: