【发布时间】:2013-02-21 19:34:17
【问题描述】:
我有一个覆盖整个屏幕的TagVisualizer。嵌套在里面的是全屏ScatterView。在我的ScatterViewItems 之一里面是UserControl,它列出了n 个SurfaceTextBoxs。 UserControl 和 ScatterViewItems 始终可见。
例如
<TagVisualizer Panel.ZIndex="1">
<TagVisualizer.Definitions>
...
<TagVisualizer.Definitions>
<ScatterView Panel.ZIndex="2">
<ScatterViewItem />
<ScatterViewItem />
<ScatterViewItem >
<UserControl />
</ScatterViewItem>
...
</ScatterView>
</TagVisualizer>
我遇到的问题是,当桌面上没有识别到标签时,触摸输入工作并且键盘弹出并正常工作。但是,当表格上的标签被识别时,键盘不再专注于文本块并且不会对用户触摸输入做出反应。我认为分层内容 zindex 可以解决这个问题,但我错了......
令人沮丧的是,我的代码适用于 Surface Input Simulator 工具,但不适用于设备本身。 (标签和触摸工具选项,不是鼠标)。
- 标签被精确切割,不显示为斑点/手指 触及桌子。
- 从 scatterview 到 librarybars 等都按预期工作。
- 其他按钮和触摸元素都按预期工作
- 每个标签的来源是 IsHitTestVisible=false 并且没有按钮等(只有一个椭圆显示标签在被识别时的位置)
- 只有 键盘功能没有像我想象的那样运行 有意的。
我相信这背后的原因是标签捕获了鼠标上下文并且不会放手,并且默认的键盘功能不需要触摸输入而是单个鼠标事件。当标签被识别时,我将如何让键盘在SurfaceTextBox - 在UserControl 内工作?
我是 WPF 的新手,这个问题让我有点头疼……我查看了 SDK 示例,但找不到解决方案……我在做什么愚蠢或简单的事情没有做/错过了?
任何帮助将不胜感激:)
【问题讨论】:
标签: c# wpf pixelsense