c# - HitTest 属性

标签 c# silverlight silverlight-4.0

我是 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/

相关文章:

c# - Silverlight 4 可以与本地主机建立 TCP 连接吗?

c# - 带有列表框的 foreach 的奇怪问题

c# - StructureMap 中的命名实例和默认实例?

c# - 在Unity中序列化和反序列化Json和Json数组

c# - Bootstrap 模态弹出 C# 代码隐藏

WPF/Silverlight状态-是否从XAML激活?

c# - 互动事件触发轻按列表框

Silverlight 4 WCF RIA服务超时问题

silverlight - 如何将一个xaml页面导航到另一个页面?

error-handling - WCF net.tcp 服务器断开连接 - 如何在客户端正确处理?