如何从ListPicker中获取多个选定项目并在MessageBox中显示它们

时间:2014-07-14 16:15:13

标签: c# windows-phone-7 listpicker

以下是ListPicker中项目列表的代码。我要做的是选择一个或多个选项然后在我按下提交按钮后,我想显示一个MessageBox,其中所选项目用逗号分隔。我还想将所选项目的值存储到数据库中,但我想要做的第一个是将数据填充到MessageBox中。

                lstPickerType.Items.Add("Aircrafts");
                lstPickerType.Items.Add("Boats");
                lstPickerType.Items.Add("Cars");
                lstPickerType.Items.Add("Helicopters");
                lstPickerType.Items.Add("Electric Powered");
                lstPickerType.Items.Add("Gas Powered");

以下是我从列表中创建字符串的代码,然后在折叠ListPicker时显示该字符串。

private void lstPickerType_SelectionChanged(object sender, SelectionChangedEventArgs e)
{

    lstPickerType.SummaryForSelectedItemsDelegate = SummarizeItems;

}

private string SummarizeItems(IList items)
{
    if (items != null && items.Count > 0)
    {
        string summarizedString = "";
        for (int i = 0; i < items.Count; i++)
        {
            summarizedString += (string)items[i];

            // if the item is not last coma is added
            if (i != items.Count - 1)
                summarizedString += ", ";
        }
        return summarizedString;

    }
    else
        return "Nothing selected";
}

最后,对于显示MessageBox的按钮,我有以下代码。

private void btnAddLocation_Click(object sender, RoutedEventArgs e)
        {

            foreach (var item in this.lstPickerType.SelectedItems)
            {
                var items = new List<object>();
                MessageBox.Show(items.ToString());

            }

如果有人能帮助我解决这个问题,我真的很感激。谢谢。

1 个答案:

答案 0 :(得分:0)

我对C#有点生气,而且我没有在这台电脑中使用visual studio,但如果没有listpicker中的 selectionchanged 事件,我会实现你的结果。

点击按钮中的Trythis代码: 编辑:失踪演员。

private void btnAddLocation_Click(object sender, RoutedEventArgs e)
{
    string r = "";
    for (int i=0; i<this.lstPickerType.SelectedItems.Count; i++)
    {
        r += ((ListPickerItem)this.lstPickerType.SelectedItems[i]).Content;
        if (i != this.lstPickerType.SelectedItems.Count - 1) 
            r += ", ";
    }
    MessageBox.Show(r);
}