2014-07-14 33 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

相關問題