我该如何修复vtkRenderWindow的交互器事件触发一半的事件?

时间:2019-04-04 08:39:07

标签: c# .net wpf vtk

我的Activiz.NET项目中有一个vtkRenderWindow,我想知道每次按鼠标左键时鼠标的坐标。我的工作如下:

    m_window.GetInteractor().LeftButtonPressEvt += leftButtonPressEvent;


    private void leftButtonPressEvent(vtkObject sender, vtkObjectEventArgs e)
    {
        int[] position;
        position = m_window.GetInteractor().GetEventPosition();
        MessageBox.Show("X: " + position[0] + ", Y: " + position[1]);
    }

(其中m_window是vtkRenderWindow)

它可以运作...但是我每2次点击仅1次。也就是说,每2次点击触发一次事件。我认为这可能与我的RenderWindowControl在显示MessageBox之后失去焦点有关,但事实并非如此。解决该问题的方法是:

    m_window.GetInteractor().RemoveAllObservers(); 

但这不好,因为它不允许我与vtkRenderWindow中包含的vtkRenderers中的模型进行交互。

是否知道如何使此事件正常运行?

谢谢!

0 个答案:

没有答案