我正在开发一款Windows Phone应用。有一个列表,一旦从中选择列表项,就必须清除它。
我使用Clear()
,但它给了我一些例外。
list.Clear()
在内部调用list.SelectionChanged
事件吗?
如何解决这个问题?
答案 0 :(得分:1)
尝试分离/附加事件
list.SelectionChanged -= yourevent;
list.Clear();
list.SelectionChanged += yourevent;
答案 1 :(得分: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.
}
它应该避免你得到任何异常。但是,您应该已经提到异常,以便我们可以进一步分析它。
答案 2 :(得分:0)
不确定这是否适用于您的移动环境,但它应该是相同的。
在selectionchanged
事件上设置一个中断,看看它是否确实侵入了该事件。我的猜测是你是对的,它确实会触发selectionchanged
事件。
在selectionchanged
事件中编写代码以检查所选项目的数量,如果没有(即我们没有主动选择列表中的任何内容),退出该功能。
在vb.net中它将是:
If mylist.selecteditems.count = 0 then exit **sub/function**
< - 无论哪个适用