0

我正在将数据绑定到 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;

现在,错误是查询正常结果是完美的,但我无法将数据绑定到列表框。

4

1 回答 1

0

查看您的代码示例:

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

     <TextBlock Name="txtname" Text="{Binding}"></TextBlock>
    

第二个更改的原因是您的代码ToString()在 Linq 列表生成中使用了 a - 这意味着带有其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();
   }
于 2012-06-04T11:42:27.473 回答