Wpf 包含曲面交互元素的散点视图项
这是交互元素中交互元素的一个古老问题,但我希望ScatterViewItem包含其他曲面交互元素,例如SurfaceButton或SurfaceCheckBox。我的所有元素都在里面,它们会对点击等做出反应。问题是,我只会在单击不包含控件的区域时获得正常的散点视图行为 是否有一个优雅的解决方案,即使触点位于SurfaceButton或SurfaceCheckbox上,也允许拖动 e、 gWpf 包含曲面交互元素的散点视图项,wpf,pixelsense,scatterview,Wpf,Pixelsense,Scatterview,这是交互元素中交互元素的一个古老问题,但我希望ScatterViewItem包含其他曲面交互元素,例如SurfaceButton或SurfaceCheckBox。我的所有元素都在里面,它们会对点击等做出反应。问题是,我只会在单击不包含控件的区域时获得正常的散点视图行为 是否有一个优雅的解决方案,即使触点位于SurfaceButton或SurfaceCheckbox上,也允许拖动 e、 g 在surface社区论坛上问了同样的问题后,回答是这与所有WPF控制行为一致。例如,如果将交互元素添加到列表
在surface社区论坛上问了同样的问题后,回答是这与所有WPF控制行为一致。例如,如果将交互元素添加到列表框中,则当鼠标悬停在按钮上时,列表框不会对交互做出反应
如果其他人遇到这个问题,最好是通过控件的设计来解决这个问题,而不是一起尝试破解这个行为。控件行为在应用程序之间以及控件之间应保持一致 您可以通过监听其中一个子控件上的ContactLeave事件来“破解”此行为,并在其中调用contact.Capture(scatterviewitem)。这将告诉svi接管监听和回复联系人的工作。但是,这将导致与曲面的其他部分不一致的行为,并且可能会造成混淆。它本身也是不一致的。。。这使得无需抬起手指即可从内部控件切换到SVI,但用户仍需抬起手指才能切换回内部控件。要解决此问题,必须区分预览和非预览事件: 所以你可以决定你要听哪个节目
不过,作为一般建议,如果事件不应再路由,最好将事件的已处理标志设置为true。已经过时,仍然没有其他帖子。现在已将其标记为答案,但如果将来有人添加更好的答案,我将更改它;)真希望有人能进一步调查这件事。相互之间有交互元素是很自然的。
<s:ScatterView >
<Grid Width="200" Height="200">
<s:SurfaceButton />
</Grid>
</s:ScatterView>