2013-02-25 80 views
2

我想要做一些代碼,將做一個「全選」功能。爲了實現這一點,在代碼後面,我試圖手動將所有列表對象添加到LongListMultiSelector的SelectedItems。LongListMultiSelector添加到所選項目添加2項目代替

但問題是,當我這樣做時,列表中增加了兩個項目,它們的信息完全相同。我已經嘗試使用SelectedItems.Add(...),SelectedItems.Insert(...)無濟於事。

我也嘗試使用SelectedItems.Remove(...),SelectedItems.RemoveAt(...)從列表中立即刪除其中一個項目,這將實際刪除這兩個條目,無論我實際刪除哪個條目。

最後,我試着將其中一個條目改爲NULL。這實際上刪除了列表中的一個條目,但隨後將其餘的一個更改爲空對象本身。 我是否以正確的方式執行SelectAll功能?我想實現的目標有更好的選擇嗎?是否可以繼續我正在做的事情並解決這個重複問題?

回答

2

這爲我工作,而無需添加重複:

private void OnSelectAllClick(object sender, EventArgs e) 
    { 
     LongListMultiSelectorName.SelectedItems.Clear(); 
     foreach (var item in LongListMultiSelectorName.ItemsSource) 
     { 
      LongListMultiSelectorName.SelectedItems.Add(item); 
     } 
    }