我们正在使用 Controls.PreviewContactDown、PreviewContactUp 和 PreviewContactChanged 事件来捕获在 Surface 上放置、移除和移动的标记项目,这在 Surface 附带的 Simulator 应用程序中效果很好。
在实际的 Surface 上,如果您移动带标签的项目太快,相机实际上会失去标签的焦点,假设它已被移除,然后在停止移动时重新捕获它。这为我们的客户提供了非常糟糕的体验。
我提出的是一种覆盖或创建一个新事件的方法,该事件将响应标记的项目事件,但直到延迟之后才触发事件处理程序......即如果“ContactUp”被触发,等待 100 毫秒然后执行事件处理程序。理想情况下,我们只能使用备用附加属性来定义这些事件处理程序,即
<Panel local:TagDown="TagDownEventHandler" />
如果我们可以让它使用 ICommand 对象而不是事件处理程序,那就更好了。