在Silverlight 4中可以找出哪个控件正在被点击吗? 所有UIElements上有一个属性叫做IsHitTestVisible,但是我无法在控件上执行一次hittest。在silverlight中执行命中测试
1
A
回答
2
您可以在MSDN文档描述击中测试与VisualTreeHelper.FindElementsInHostCoordinates:
http://msdn.microsoft.com/en-us/library/cc838402%28v=VS.95%29.aspx
然而,一个更简单的方法可能是处理程序添加到的MouseLeftButtonUp事件对你有兴趣命中特定元素测试。
1
您可以通过MouseLeftButtonDown
或MouseLeftButtonUp
事件(或等效的RightButton事件)发现鼠标点击。
这些冒泡事件意味着如果它们没有被处理,但实际元素点击事件将触发含有元素,直到根项目。
因此,对于很多简单的元素,您可以向包含元素添加处理程序,并使用的OriginalSource
属性来确定实际生成消息的元素。
但是,您使用“控制”这个词,它有些用来表示其他用户更严格地使用UI元素来引用诸如ListBox
之类的东西。在后一种情况下,这些控件可以处理鼠标事件,因此它们不会再冒泡。
即使是已处理的内容,您仍然可以在包含UIElement上使用AddHandler
获得LeftButton事件。这仍然会让你发现你感兴趣的实际控制问题,因为OriginalSource
将成为控制的一部分,因此是控制的后代。
相关问题
- 1. 如何从命令行执行silverlight单元测试
- 2. Selenium IDE:在测试中执行测试
- 3. 在Silverlight中进行单元测试
- 4. 如何在PHP中执行矩形命中测试
- 5. 如何在TreeView for TreeViewItem中执行命中测试?
- 6. 在命令行中执行SoapUI测试时发生错误
- 7. 在Eclipse中执行JUnit测试之前运行外部命令
- 8. 在silverlight中测试导航
- 9. 在maven中运行单个测试 - >没有执行测试!
- 10. crontab和测试要执行的命令
- 11. 在竹中执行NUnit测试
- 12. 在laravel中执行phpunit测试
- 13. 如何在R中执行wilcox测试?
- 14. 在Java中自动执行UI测试
- 15. 在nunit中按顺序执行测试
- 16. 如何在R中执行Hartley测试
- 17. 在R中执行VIF测试
- 18. 命中测试
- 19. 如何在执行另一个测试后执行测试?
- 20. 在Visual Studio中执行单个Boost测试单元测试
- 21. 对匿名对象执行命中测试
- 22. 什么是对FormattedText执行命中测试的好方法?
- 23. 执行测试类
- 24. 执行Nunit测试
- 25. 第一次单元测试(在Silverlight中)
- 26. 在Silverlight单元测试中处理DependencyObjects
- 27. SAS中的变量执行测试
- 28. Silverlight单元测试框架在外部类库中运行测试
- 29. 单元测试/ Eclipse中/命令行
- 30. 并行测试执行Jenkins