我正在使用 WPF 中的 VisualCollection、Visual 和 HitTest 并遇到问题。
我尝试制作自定义视觉绘图,如下所示:
public class MyDrawing : Visual
{
VisualCollection vc;
public MyDrawing()
{
vc = new VisualCollection(this);
}
// ...
DrawingVisual rectangle = new DrawingVisual();
// ...
vc.Add(rectangle);
}
public class DrawingArea : FrameworkElement
{
VisualCollection vc;
public DrawingArea()
{
vc = new VisualCollection(this);
MyDrawing md1 = new MyDrawing();
vc.Add(md1);
}
public void TryToHit(Point p)
{
HitTestResult result = VisualTreeHelper.HitTest(this, p);
}
}
然后我发现结果是矩形而不是md1。
我怎样才能使 MyDrawing 成为基本的 Visual 元素,以便 VisualTreeHelper 不会进一步在里面做 HitTest?
非常感谢。