list.clear()正在调用list.selectionchanged事件

时间:2013-07-30 07:03:33

标签: c# windows-phone-7

我正在开发一款Windows Phone应用。有一个列表,一旦从中选择列表项,就必须清除它。 我使用Clear(),但它给了我一些例外。 list.Clear()在内部调用list.SelectionChanged事件吗? 如何解决这个问题?

3 个答案:

答案 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**< - 无论哪个适用