我有一个 ListBox,它有一个 ContextMenu。我为列表框定义了一个 ItemTemplate,并为“OnTap”事件设置了一个事件处理程序。当它触发时,我会对此进行操作。我使用 ContextMenu 赋予删除/编辑项目的能力。
我的问题如下:如果我通过一个项目上的“长按”触发上下文菜单,它将不会在列表框中被选中,因此我无法访问它。我想知道,哪个项目是“长胶带”。有什么好的做法吗?
谢谢
我有一个 ListBox,它有一个 ContextMenu。我为列表框定义了一个 ItemTemplate,并为“OnTap”事件设置了一个事件处理程序。当它触发时,我会对此进行操作。我使用 ContextMenu 赋予删除/编辑项目的能力。
我的问题如下:如果我通过一个项目上的“长按”触发上下文菜单,它将不会在列表框中被选中,因此我无法访问它。我想知道,哪个项目是“长胶带”。有什么好的做法吗?
谢谢
答案在这里:http ://forums.create.msdn.com/forums/t/85263.aspx
本质上,使用 Silverlight 工具包 GestureListener 来捕获长时间保持,然后在事件处理程序中,您可以查看发送方的 DataContext 以获取正确的项目。