2013-02-25 94 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); 
     } 
    }