Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 包含曲面交互元素的散点视图项_Wpf_Pixelsense_Scatterview - Fatal编程技术网

Wpf 包含曲面交互元素的散点视图项

Wpf 包含曲面交互元素的散点视图项,wpf,pixelsense,scatterview,Wpf,Pixelsense,Scatterview,这是交互元素中交互元素的一个古老问题,但我希望ScatterViewItem包含其他曲面交互元素,例如SurfaceButton或SurfaceCheckBox。我的所有元素都在里面,它们会对点击等做出反应。问题是,我只会在单击不包含控件的区域时获得正常的散点视图行为 是否有一个优雅的解决方案,即使触点位于SurfaceButton或SurfaceCheckbox上,也允许拖动 e、 g 在surface社区论坛上问了同样的问题后,回答是这与所有WPF控制行为一致。例如,如果将交互元素添加到列表

这是交互元素中交互元素的一个古老问题,但我希望ScatterViewItem包含其他曲面交互元素,例如SurfaceButton或SurfaceCheckBox。我的所有元素都在里面,它们会对点击等做出反应。问题是,我只会在单击不包含控件的区域时获得正常的散点视图行为

是否有一个优雅的解决方案,即使触点位于SurfaceButton或SurfaceCheckbox上,也允许拖动

e、 g


在surface社区论坛上问了同样的问题后,回答是这与所有WPF控制行为一致。例如,如果将交互元素添加到列表框中,则当鼠标悬停在按钮上时,列表框不会对交互做出反应


如果其他人遇到这个问题,最好是通过控件的设计来解决这个问题,而不是一起尝试破解这个行为。控件行为在应用程序之间以及控件之间应保持一致

您可以通过监听其中一个子控件上的ContactLeave事件来“破解”此行为,并在其中调用contact.Capture(scatterviewitem)。这将告诉svi接管监听和回复联系人的工作。但是,这将导致与曲面的其他部分不一致的行为,并且可能会造成混淆。它本身也是不一致的。。。这使得无需抬起手指即可从内部控件切换到SVI,但用户仍需抬起手指才能切换回内部控件。

要解决此问题,必须区分预览和非预览事件:

所以你可以决定你要听哪个节目


不过,作为一般建议,如果事件不应再路由,最好将事件的已处理标志设置为true。

已经过时,仍然没有其他帖子。现在已将其标记为答案,但如果将来有人添加更好的答案,我将更改它;)真希望有人能进一步调查这件事。相互之间有交互元素是很自然的。
<s:ScatterView >    
    <Grid Width="200" Height="200">
        <s:SurfaceButton />
    </Grid>
</s:ScatterView>