我在挣扎 tagvisualizer 控制MS表面项目。从理论上讲,控制似乎很棒,使您能够回应现实世界物理对象的输入

问题是控件将覆盖整个屏幕(因为我想在整个屏幕上捕获标签),因此,我的应用程序中没有其他控件会收到触摸事件。 (除非它们是视觉树中的直接上升)。

在我的应用程序中,我想拥有一种方法的“层”类型,每个层都可以响应(联系)输入:

Window
  `- Grid
      `- LayersPanel
          `- TagVisualizer
          `- Layer 1
          `- Layer 2
          `- Layer 3
          `- Layer 4    

现在,我将标签可视化器放在哪里都没关系,它总是会从所有或其他一些层中窃取联系事件。 (由于本质 路由)

对我来说,似乎在实践中完全没有用处,因为它总是会干扰您的应用程序的其他控件。我在这里想念什么?

所以我的问题是: :关于如何解决这个问题的任何建议?是否有人在类似的情况下使用了TagVisualizer?如果是这样,您如何解决这个问题?

顺便说一句,这些层都可以正常工作,因为它们只会窃取直接在其子元素顶部的事件(该图层的其余部分都是看不见的)

有帮助吗?

解决方案

使用TagVisualizer时,诀窍是您必须将整个应用程序放在其中。例如:

<s:TagVisualizer>
  <s:TagVisualizer.Definitions>
    <s:ByteTagVisualizationDefinition Value="00" />
  </s:TagVisualizer.Definitions>
  <s:ScatterView>
    <s:ScatterViewItem />
    <s:ScatterViewItem />
    <s:ScatterViewItem />
    <s:ScatterViewItem />
  </s:ScatterView>
</s:TagVisualizer>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top