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