我正在使用包含ListBox的PhoneApplicationPage创建一个WP7应用程序 当用户选择ListBox中的项目时,将打开另一个页面。
现在我有点困惑:我应该使用哪个ListBox事件处理程序来检测选择,Tap还是SelectionChanged?如果是Tap,我该如何获得被点击的项目?
答案 0 :(得分:6)
我建议您使用SelectionChanged
事件,如果单击某个项目,它将始终以正确的方式注册。
使用SelectionChanged
事件的一个好处是,您将获得包含有用信息的SelectionChangedEventArgs。
但重要的是要在单击某个项目时将所选索引重置为-1,否则当用户返回该页面时仍然选择该项目并且该项目不可单击时。 / p>
答案 1 :(得分:2)
要添加其他答案,您还必须在SelectionChanged事件中进行空检查,因为当您选择index = -1时,它也会触发SelectionChanged事件。
答案 2 :(得分:1)
SelectionChanged事件存在一个问题。如果您选择一个项目并被发送到新页面并再次返回,则无法再次选择相同的项目,因为它仅在选择更改时有效:)。请牢记这一点