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

本文关键字:list 调用 selectonchanged 事件 clear | 更新日期: 2023-09-27 18:25:23

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

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

尝试分离/附加事件

list.SelectionChanged -= yourevent;
list.Clear();
list.SelectionChanged += yourevent;

我只建议对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.
}

它应该避免出现任何异常。不过,你应该提到这个例外情况,以便我们进一步分析。

不确定这是否适用于您的移动环境,但应该是一样的。

selectionchanged事件上设置一个Break,并查看它是否会闯入事件。我的猜测是你是对的,它确实触发了selectionchanged事件。

selectionchanged事件中编写代码以检查所选项目的数量,如果没有(即我们没有主动选择列表中的任何项目),则退出该功能。

在vb.net中,它将是:

If mylist.selecteditems.count = 0 then exit **sub/function**<-以适用的为准