2014-07-14 34 views
0

以下是我在ListPicker中的项目列表的代码。我想要做的是选择一个或多个选项,然后按下提交按钮后,我想显示一个MessageBox,并用逗号分隔所选项目。我也想将选择的项目的这个值存储到数据库中,但是,我试图做的第一项是将数据填充到MessageBox中。如何从ListPicker中获取多个选定的项目并将它们显示在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

一旦我按下按钮,我想要收到一条消息(例如,如果我选择飞机,船只,汽车),我想要显示它。而不是我得到System.Collections.Generic.List'1 [System.Object]。我也得到更多的消息框(如果我选择三个项目,我得到3个消息框)谢谢 – user3837555

回答

0

我有点生锈的C#,我没有在这台电脑的视觉工作室,但我会实现你的结果没有在listpicker事件选择更改

Trythis code in the button click: 编辑:失踪。

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); 
} 
+0

我试过这个,它给我1错误r + = this.lstPickerType.SelectedItems [i] .Content; 错误'object'不包含'Content'的定义并且没有扩展方法可以找到'Content'接受'object'类型的第一个参数(你是否缺少using指令或程序集引用?) – user3837555

+0

它现在起作用了,我只需要做一些调整,例如删除.Content。非常感谢您的帮助。 – user3837555

相关问题