Nous utilisons les événements Controls.PreviewContactDown, PreviewContactUp et PreviewContactChanged pour capturer les éléments marqués placés, supprimés et déplacés sur la Surface, ce qui fonctionne très bien dans l'application Simulator fournie avec la surface.Ajout d'un délai aux événements OnContactDown pour les contrôles Surface
Sur une surface réelle, si vous avez déplacé un élément balisé trop rapidement, les caméras perdent le focus de la balise, supposent qu'elle a été retirée, puis la capture à nouveau lorsqu'elle s'arrête de bouger. Cela fournit une expérience assez pauvre pour nos clients. Ce que je propose est un moyen de surcharger ou de créer un nouvel événement qui répondrait aux événements d'éléments marqués, mais ne déclencherait pas le gestionnaire d'événements avant un délai ... ie si "ContactUp" est déclenché, attendez 100ms et ALORS exécuter le gestionnaire d'événements. Idéalement, nous aimerions simplement être en mesure d'utiliser une propriété autre attaché à définir ces gestionnaires d'événements, à savoir
<Panel local:TagDown="TagDownEventHandler" />
Et si nous pouvions obtenir d'utiliser des objets ICommand au lieu des gestionnaires d'événements qui seraient encore mieux.
TagVisualizer ne fonctionnera pas aussi facilement parce que nous ne savons pas précisément ce que les étiquettes que nous travaillons avec, et je suis sûr TagVisualizer vous devez spécifier quelles valeurs balise pour écouter - le client pourrait utiliser n'importe quel sous-ensemble des étiquettes 00-FF. Dans le même temps, le TagVisualizer pourrait effectivement souffrir du même problème - ce qui se passe sur notre unité de surface Dev est si vous "traînez" un objet marqué sur la surface à une vitesse décente, il laisse tomber le suivi de cet objet - I pense que c'est plus une limitation matérielle des caméras internes qu'autre chose. – RTigger
Si vous ne savez pas quelle étiquette, alors que diriez-vous simplement tout (vous pouvez le faire aussi par programmation)? Problème résolu. Oui, la chute des contacts est un problème fondamental ... mais comme je l'ai dit, la TV contourne le problème car elle n'élimine pas immédiatement les visuels, donc si elle perd son contact en bougeant, elle recule doucement une fois qu'elle a été redétectée. – Schneider