WP LongListMultiSelector控件Bug,单项删除第五个时候报错
2014-03-26 09:27
295 查看
WP LongListMultiSelector控件Bug,单项删除第五个时候报错。MSDN找了下发现也有人报告过该问题,貌似目前官方还未给出解决方案。MSDN帖子其中一些解决方案重新继承控件,重载某个方法。
http://social.msdn.microsoft.com/Forums/wpapps/en-US/bec4efbf-269b-4be0-aacc-99c8be59b861/wp8-longlistselector-exception-when-removing-items
个人解决方案:
void OnDeleteClick(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("删除选中?", AntiTheft.Resources.AppResources.SoftName, MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
//由于LongListMultiSelector控件存在bug,单项删除第五个时候会报错。所以下面注释方法暂不用
//while (PushList.SelectedItems.Count > 0)
//{
// UserLoginStorage.PushList.Remove(PushList.SelectedItems[0] as Mode.Push);
//}
//改用把控件数据源抽出筛选完(删除后)重新赋值给控件数据源,最后再同步到绑定到控件的数据源(PushList为LongListMultiSelector控件ID)
var p = PushList.ItemsSource as ObservableCollection<Mode.Push>;
//从数据源筛选并剔除选中项
PushList.ItemsSource = new ObservableCollection<Mode.Push>(from n in p
where PushList.SelectedItems.Contains(n) == false
select n);
UserLoginStorage.PushList = PushList.ItemsSource as ObservableCollection<Mode.Push>;
ResetItemsList();
}
}
catch (Exception)
{
MessageBox.Show("删除失败");
}
}
http://social.msdn.microsoft.com/Forums/wpapps/en-US/bec4efbf-269b-4be0-aacc-99c8be59b861/wp8-longlistselector-exception-when-removing-items
个人解决方案:
void OnDeleteClick(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("删除选中?", AntiTheft.Resources.AppResources.SoftName, MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
//由于LongListMultiSelector控件存在bug,单项删除第五个时候会报错。所以下面注释方法暂不用
//while (PushList.SelectedItems.Count > 0)
//{
// UserLoginStorage.PushList.Remove(PushList.SelectedItems[0] as Mode.Push);
//}
//改用把控件数据源抽出筛选完(删除后)重新赋值给控件数据源,最后再同步到绑定到控件的数据源(PushList为LongListMultiSelector控件ID)
var p = PushList.ItemsSource as ObservableCollection<Mode.Push>;
//从数据源筛选并剔除选中项
PushList.ItemsSource = new ObservableCollection<Mode.Push>(from n in p
where PushList.SelectedItems.Contains(n) == false
select n);
UserLoginStorage.PushList = PushList.ItemsSource as ObservableCollection<Mode.Push>;
ResetItemsList();
}
}
catch (Exception)
{
MessageBox.Show("删除失败");
}
}
相关文章推荐
- 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector
- Wp8—LongListSelector控件使用
- 如果出现控件样式怎样调都出bug的时候。
- 【WP7】一个便捷而且比较炫的分组聚类控件:LongListSelector控件的使用
- Windows Phone 7 LongListSelector控件实现分类列表和字母索引
- 关于cocos2dx widget窗口中的关闭按钮 删除自身 的时候崩溃bug
- WP7之LongListSelector控件
- 【WP8】简单介绍wp8中原生LongListSelector控件的用法
- WP7之LongListSelector控件
- WP7之LongListSelector控件
- 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector
- 解决duidesigner在属性窗口按del键会删除控件的bug
- 关于cocos2dx widget窗口中的关闭按钮 删除自身 的时候崩溃bug
- docker 删除容器的时候出现的bug解决方案
- 【WP8.1】系统控件的bug及修复方案
- wp的瀑布流插件infinite-scroll对于navSelector非最底元素(或叫到底距离不固定情形)存在bug
- Windows Phone 7 LongListSelector控件实现分类列表和字母索引
- window phone7.1 天气预报教程(四)ApplicationBar的设置与LongListSelector控件的使用
- 设置 LongListSelector 只有在项多的时候才分组
- 【WP8】简单介绍wp8中原生LongListSelector控件的用法