如何将数据绑定到wp7中的列表框

时间:2012-06-04 11:22:52

标签: linq windows-phone-7 linq-to-objects

我将数据绑定到wp7中的列表框

这是代码

              <ListBox x:Name="list_budget" Width="440">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Name="txtname" Text="{Binding category}"></TextBlock>

                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

//类函数

    public string[] jinal;

    public void  budgetcategorywise()
    {

        var q = from shoppingItem p in db.Item1
                group p by new { p.category_name } into g
                select new { category = g.Key, total = g.Sum(p => p.total_amt) `enter code here`}.ToString();

      jinal = q.toarray();
}

//编码

        list_budget.ItemsSource = App.Viewmod.jinal;

现在,错误是查询是ok结果是perfact但我无法将数据绑定到列表框。

1 个答案:

答案 0 :(得分:0)

查看代码示例:

  1. 请确保在执行绑定之前调用budgetcategorywise()
  2. 请将您的绑定更改为:

     <TextBlock Name="txtname" Text="{Binding}"></TextBlock>
    
  3. 第二次更改的原因是您的代码在Linq列表生成中使用了ToString() - 这意味着具有category字段的类在字符串表示中被展平。


    如果您希望在绑定中保留类别字段,请使用列表项的类,如:

       public class MyListItem
       {
           public string category { get;set; }
           public double total { get;set; }
       }
    
       public List<MyListItem> jinal;
    
       public void  budgetcategorywise()
       {
    
            var q = from shoppingItem p in db.Item1
                    group p by new { p.category_name } into g
                    select new MyListItem() { category = g.Key, total = g.Sum(p => p.total_amt) };
    
          jinal = q.ToList();
       }