显示一个“;记分板”;在windowsphone中

本文关键字:记分板 windowsphone 一个 显示 | 更新日期: 2023-09-27 18:27:19

我正在为windows phone 8制作一个应用程序,允许用户添加鱼类类型和角度。然后,他们从列表选择器中选择要增加的值,并可以单击"添加"或"减去"按钮来增加其值。这些类型存储在字典中。我试图有一个总结页面,以降序列出鱼和/或角。我所尝试的一切都显示出重复的数据。例如,鱼的类型是walleye,用户点击+3次就会显示

Walleye1

Walleye2

Walleye3

而不仅仅是

Walleye3

这是我到目前为止的代码

    Dictionary<string, int> FishListDic = new Dictionary<string,int>();
    Dictionary<string, int> AngularListDic = new Dictionary<string,int>();
    StringBuilder longlines = new StringBuilder();
private void FishAdd_Click(object sender, RoutedEventArgs e)
    {
        if (FishListDic.ContainsKey(FishName.Text))
        {
            MessageBox.Show("Fish is already in the list");
        }
        else
        {
            FishListDic.Add(FishName.Text, 0);
            Dictionary<string, int>.KeyCollection keyColl = FishListDic.Keys;
            FishList.Items.Clear();
            foreach (string s in keyColl)
            {                    
                FishList.Items.Add(s);
            }
        }
    }
    private void FishIncrement_Click(object sender, RoutedEventArgs e)
    {
        string tempfishname;
        tempfishname = FishList.SelectedItem.ToString();
       // FishListDic[tempfishname] = ;
        int temp = fishcount;
        if (!FishListDic.ContainsKey(FishList.SelectedItem.ToString()))
        {
            FishListDic.Add(FishList.SelectedItem.ToString(), 0);
        }
        FishListDic[FishList.SelectedItem.ToString()]++;
        foreach (KeyValuePair<string, int> kvp in FishListDic)
        {   
            longlines.Append(kvp.Key.ToString() + kvp.Value.ToString() + ''n');
        }
        Summary_Fish.Text = longlines.ToString();
    }

我很确定问题出在字符串生成器append上,但目前我想不出任何其他选项。我正在尝试将它添加到数据透视页上的文本块中。上面的代码只处理鱼的类型,所以对角度来说是重复的

您之所以得到这样的结果,是因为:

foreach (KeyValuePair<string, int> kvp in FishListDic)
{   
     longlines.Append(kvp.Key.ToString() + kvp.Value.ToString() + ''n');
}

例如:

让我们逐步查看字符串中的更改:-字符串。空

  • Walleye1

  • Walleye1Walleye2

等等。

你正在积累longlines,但你为什么需要它?

longlines移动到函数FishIncrement_Click的正文中。因此,每次fish递增时,它都将是一个新的StringBuilder。

p.s.:只要两句话,也许对你有用:

  1. 如果用tempfishname替换FishList.SelectedItem.ToString(),代码会变得更加清晰
  2. 如果要为字符串生成器添加新行,可以使用AppendLine方法

显示一个“;记分板”;在windowsphone中