Windows phone 7 列表项在第二次单击事件时无响应

Windows phone 7 列表项在第二次单击事件时无响应,windows-phone-7,xaml,event-handling,listbox,Windows Phone 7,Xaml,Event Handling,Listbox,在我的WindowsPhone7应用程序中,我有许多列表视图。每个listViewItem都有一个单击事件(通过在我的xaml中将“selectionChanged”属性设置为listBox)。现在发生了一件非常奇怪的事情: 当我第一次点击列表框中的一个项目时,一切都很顺利,在这种情况下,用户会被带到另一个屏幕。当我从该屏幕返回到listbox时,我选择了非常相同的listboxitem,但这次事件没有注册,没有发生任何事情 然后我必须先点击另一个项目,让这些项目甚至火,然后我只能点击第一个项目

在我的WindowsPhone7应用程序中,我有许多列表视图。每个listViewItem都有一个单击事件(通过在我的xaml中将“selectionChanged”属性设置为listBox)。现在发生了一件非常奇怪的事情:

当我第一次点击列表框中的一个项目时,一切都很顺利,在这种情况下,用户会被带到另一个屏幕。当我从该屏幕返回到listbox时,我选择了非常相同的listboxitem,但这次事件没有注册,没有发生任何事情

然后我必须先点击另一个项目,让这些项目甚至火,然后我只能点击第一个项目。换句话说,我不能连续两次触发listItem的click事件。我认为这是因为列表框上的事件处理程序显示“onSelectionChanged”,如果您选择了相同的项目,则选择在技术上没有改变

那么,我可以在listbox上使用什么其他eventHandling属性来注册其项上的选择事件呢


谢谢你的帮助

好吧,没有这样的事件。因此,解决办法是

在第一页的OnNavigatedTo事件处理程序中,将SelectedIndex设置为-1

YourListBox.SelectedIndex = -1;
在这样做的同时,对您的选择处理程序进行一个小的修改

void Selection_Changed(...)
{
   if(YourListBox.SelectedIndex == -1)
    return;
   //rest of your code
}

在您的情况下,将首次设置列表框中的SelectedItem。第二次点击同一项时,从技术上讲,它不是SelectionChanged事件,因此不会触发

在SelectionChanged事件结束时清除SelectedItem就可以了。
下面是一段可能会有所帮助的代码片段

private void ListBox\u SelectionChanged(对象发送者,selectionchangedventargs e)
{
//
//在这里做你的事
//
//重置发件人的选择(列表框)
(发件人作为列表框)。选择EdItem=null;
}