我正在开发一个 Windows Phone 应用程序。一旦从中选择了一个列表项,就必须清除一个列表。我用过Clear()
,但它给了我一些例外。list.Clear()
在内部调用list.SelectionChanged
事件吗?如何解决这个问题呢?
问问题
344 次
3 回答
1
我只是建议对您的 SelectionChanged 事件进行更改以保持同步。
private void SelectionChanged_Event()
{
if(!list.Any()) // Or any similar check to see if it contains anything
return;
// Then goes your rest of the code.
}
它应该避免您遇到的任何异常。但是,您应该提到异常,以便我们可以进一步分析它。
于 2013-07-30T07:24:53.300 回答
1
尝试分离/附加事件
list.SelectionChanged -= yourevent;
list.Clear();
list.SelectionChanged += yourevent;
于 2013-07-30T07:10:09.110 回答
0
不确定这是否适用于您的移动环境,但应该是一样的。
在事件上设置一个中断selectionchanged
,并查看它是否会中断该事件。我的猜测是你是对的,它确实触发了selectionchanged
事件。
在事件中编写代码selectionchanged
以检查所选项目的数量,如果没有(即我们没有主动选择列表中的任何内容),则退出该函数。
在 vb.net 中它将是:
If mylist.selecteditems.count = 0 then exit **sub/function**
<- 以适用者为准
于 2013-07-30T07:13:27.513 回答