看不到鼠标事件

时间:2014-06-16 14:06:28

标签: c# canvas

我目前正在C#中实现一个应用程序(神经网络),我可以添加神经元并使用几个事件(鼠标,键盘,触摸,跳跃运动......)将它们关联起来。无论如何,我正在修改我的代码中的一些东西,使其更清晰,更通用,因为它应该从一开始就应该是。

我在这里的问题是关于事件。我知道它是如何工作的,我设法为鼠标或触摸事件构建一个监听器。我的申请可以看作:

  • 画布(窗口)
  • 一个VisualBox

我的VisualBox是一个具有更多属性的更好的网格。它包含一个Viewbox,它本身包含一个自定义Shape。所以要恢复我

  • 帆布
  • VisualBox
  • Viewbox控件
  • 形状

由于我的VisualBox是一个Grid,我可以将事件附加到它,即使我已经这样做了,我的事件唯一指向的是我的Shape。基本上我的发件人总是类型为Shape。

有没有人知道我应该做什么/指定将我的VisualBox视为指向对象而不浏览Shape Parents?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,即使事件的发送者在继承层次结构中更高,您也试图访问基础对象?如果是这种情况,您可以将事件通过对象层次结构链接到您的形状类,或者更简单的方法是,如果您在事件触发时有权访问形状对象,则可以在初始化事件参数时包含对对象的引用

public class InheritedShapeEventArgs : EventArgs //or some other event argument class
{

  public InheritedShapeEventArgs(Shape shape)
  {
     this.Shape = shape;
  {
  public Shape Shape { get; private set; }

}