从longlistmultiselector wp8中删除所选项目的问题

时间:2015-01-02 13:00:02

标签: windows-phone-8

我有一个longlistmultiselector,我需要删除一个元素。 我可以从它的itemsource中删除该元素,但是在UI中没有反映出来。 在UI屏幕中没有变化。

以下是从lonlistmultiselector(onboardList)中删除项目的代码:

 var updatedReviewList = onboardList.ItemsSource;
            MessageBoxResult result = MessageBox.Show(Constants.DELETE_MSG, Constants.DELETE_MSG, MessageBoxButton.OKCancel);
            if (result == MessageBoxResult.OK)
            {
                if (reqDetails != null)
                {
                    for (var index = 0; index < onboardList.ItemsSource.Count; index++ )                    
                    // foreach (var item in onboardList.ItemsSource)
                    {
                        var item = onboardList.ItemsSource[index];

                        if (onboardList.SelectedItems.Contains(item))
                        {
                            //this.onboardList.ItemsSource.Remove(item);
                            updatedReviewList.Remove(item);

                        }
                    }

                    this.onboardList.ItemsSource = updatedReviewList;

                }

知道我可能缺少什么吗? 提前致谢

1 个答案:

答案 0 :(得分:3)

这样做..它应该有用。

this.onboardList.ItemsSource = null;
this.onboardList.ItemsSource = updatedReviewList;

如果使用实现INotifyPropertyChanged的对象的ObservableCollection,则会更好。这将允许双向绑定数据。如果从itemsource中删除了某些内容,它将反映在UI中,如果从UI中删除了某些内容,它将自动从ObservableCollection中删除该条目

有关此处的更多信息: -

http://msdn.microsoft.com/en-us/library/windows/apps/cc278072%28v=vs.105%29.aspx