Windows phone 7 什么是捕获“事件”的正确事件;点击";在WindowsPhone7上的列表框中?

Windows phone 7 什么是捕获“事件”的正确事件;点击";在WindowsPhone7上的列表框中?,windows-phone-7,event-handling,listbox,Windows Phone 7,Event Handling,Listbox,我正在编写一个带有列表框的WindowsPhone7应用程序。当列表框中的一个项目被手指“点击”或“点击”时,什么是正确的陷阱事件 我尝试过“SelectedIndexChanged”,但当应用程序被删除并且传入索引0(这似乎很奇怪)时,GoBack()上似乎会触发这种情况 我目前正在使用MouseUp,它似乎可以达到目的。但我不确定这是否正确 注意:单击“上一步”时,我发现SelectionChanged触发的原因。当我的页面的构造函数启动时,我的列表框的ItemSouce被设置(数据绑定),

我正在编写一个带有列表框的WindowsPhone7应用程序。当列表框中的一个项目被手指“点击”或“点击”时,什么是正确的陷阱事件

我尝试过“SelectedIndexChanged”,但当应用程序被删除并且传入索引0(这似乎很奇怪)时,GoBack()上似乎会触发这种情况

我目前正在使用MouseUp,它似乎可以达到目的。但我不确定这是否正确


注意:单击“上一步”时,我发现SelectionChanged触发的原因。当我的页面的构造函数启动时,我的列表框的ItemSouce被设置(数据绑定),它将选择列表中的第一项并启动SelectionChanved事件。由于这不是由用户操作启动的,所以我解决了这个问题,只需创建一个IsLoaded boolean,并在构造函数中设置ItemSource后将其设置为true,然后在事件中检查它。

如果您希望在选择项时收到通知,您应该捕获SelectionChanged事件

在处理程序中,检查e.AddedItems是否仅包含一项:

void SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (e.AddedItems.Count == 1)
    {
        // .. do something
    }
}

在GoBack()上,您可能在e.RemovedItems集合中有项目,但在e.AddedItems中没有任何项目。

Hi-Omar的可能重复,上面的线程介绍了有关鼠标点击的注意事项,并在相同的列表项目上重复单击/点击。。。。还解决了人们通常在不首先重置SelectedIndex的情况下使用SelectedIndexChanged(重复按下不会触发)时遇到的问题。我发现这种机制的一个怪癖是,SelectionChanged在更新列表框的ItemSource时触发(如在构造函数中)。在这种情况下,SelectedIndex是该列表中的第一项。如果像我一样,你从来都不希望这些东西被选中,而只是希望它们可以单击,那么记住在完成后将SelectedIndex设置回-1,否则单击同一个东西两次将不会有任何效果。嗨,Chris R,当我们将SelectedIndex设置回-1时,它再次运行SelectionChanged事件(因为将selectedIndex设置回-1是另一个SelectionChange)。因此,对于每个listbox项单击,此事件将运行两次。因此,仍然想知道哪一个事件是实现listbox项单击事件的最佳事件。我尝试了Tap事件(Listbox),想知道这个想法。非常感谢你。。。