我是 Windows Phone 开发的新手,目前在 WP8 中使用 LongListSelector 时遇到问题,我不知道如何继续实现我想要的结果。
我像往常一样使用它来显示项目列表。使用的类包含 5 项,其中一项是浮点值。我想在列表标题中显示列表中包含的所有正浮点值的总和,但我不知道如何执行此操作。
除了原始绑定之外,我尝试将另一个变量(总和的结果)专门绑定到 listheader,或者在包含总和结果的类中添加另一个项目(因此在每个列表项中的整个列表中重复),但它没有不行。
我想这是一个非常基本的功能(例如计算和显示列表元素的数量),但我不知道如何做到这一点。
编辑:我认为显示我的代码无济于事,但就是这样。(我去掉了不相关的格式)
XAML
<phone:LongListSelector x:Name="ListeSolde" LayoutMode="List">
<phone:LongListSelector.ListHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding SommeTotale}" />
</DataTemplate>
</phone:LongListSelector.ListHeaderTemplate>
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Nom}" />
<TextBlock Text="{Binding DerniereConnexion}" />
<TextBlock Text="{Binding Depuis}" />
<TextBlock Text="{Binding Solde}" />
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
类定义
public class resume
{
public string Nom { get; set; }
public double Solde { get; set; }
public string Depuis { get; set; }
public string DerniereConnexion { get; set; }
public resume(string nom, double solde, string depuis, string derniereconnexion)
{
this.Nom = nom;
this.Solde = solde;
this.Depuis = depuis;
this.DerniereConnexion = derniereconnexion;
}
}
public class total
{
public double Total { get; set; }
public double calculTotal(List<resume> soldes)
{
double total = new double();
foreach (resume solde in soldes)
{
if (solde.Solde > 0)
total += solde.Solde;
}
return total;
}
public total(double Dtotal)
{
this.Total = Dtotal;
}
}
和后面的代码
public MainPage()
{
InitializeComponent();
List<resume> soldes = new List<resume>();
Donnees MainData = new Donnees();
soldes = MainData.RefreshResume(soldes); // A method that basically add items to the list
total SommeTotale = new total(1);
SommeTotale.Total = SommeTotale.calculTotal(soldes);
ListeSolde.ItemsSource = soldes;
}
这当然不起作用(就列表标题而言),这就是我的做法