如何将数据绑定到Windows应用商店应用中的内部列表视图

时间:2015-11-19 12:34:49

标签: xaml c#-4.0 windows-store-apps

这是我将数据绑定到列表视图的代码,无法将数据绑定到windows store app中编写的内部列表视图。

请查看附件中的输出图片。

ManiPage.xaml.cs:

enter image description here

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>

1 个答案:

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

这导致:

enter image description here