私は Windows Phone の開発に不慣れで、現在 WP8 で LongListSelector を使用しているときに問題に直面しており、希望する結果を達成する方法がわかりません。
いつものようにアイテムのリストを表示するために使用します。使用されるクラスには 5 つの項目が含まれており、そのうちの 1 つは float 値です。リストヘッダーに、リストに含まれるすべての正の浮動小数点値の合計を表示したいのですが、これを行う方法がまったくわかりません。
元のバインディングに加えて、別の変数 (合計の結果) を特にリストヘッダーにバインドしようとしたか、合計の結果を含むクラスに別の項目を追加しようとしました (したがって、各リスト項目のリスト全体で繰り返されます)。動作しません。
これはかなり基本的な機能 (たとえば、リストの要素の数を数えて表示する) だと思いますが、これを行う方法がわかりません。
編集:コードを表示しても役に立たないと思いましたが、ここにあります。(関連のないフォーマットを削除しました)
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;
}
もちろん、これは機能しません(リストヘッダーに関する限り)。これが私が行う方法です