我是 silverlight 新手,正在尝试阅读 silverlight 教程,该教程使用 HitTest 方法来了解鼠标何时位于控件上。 但不幸的是我看不到任何具有此名称的方法。
HitTest 方法在哪里?是因为我使用的是silverlight 4吗?有什么替代方法吗?
最佳答案
旧版本(3.0 之前)确实有 HitTest 方法。在 Silverlight 3 和 4 中,您可以使用
VisualTreeHelper.FindElementsInHostCooperatives
方法来实现类似的目标。
例如,以下代码可用于您可能在其上拖动项目的表面上的鼠标事件。它将确定拖动项目的任何部分是否与目标项目重叠。 警告空中代码
var container = (UIElement)sender;
var transform = draggedItem.TransformToVisual(container);
Rect rect = new Rect(transform.Transform(new Point(0, 0)),
new Size(draggedItem.ActualWidth, draggedItem.ActualHeight);
bool hit = VisualTreeHelper.FindElementsInHostCoordinates(rect, container)
.Any(elem => elem == targetItem);
关于c# - HitTest 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920988/