如何捕获Gtk.TreeView中的点击?

vir*_*tor 4 c# gtk gtk# gtktreeview

我正在尝试捕获TreeView的空白区域中的双击事件以创建新节点.不幸的是,标准方法不起作用.我尝试将ButtonPressEvent附加到TreeView和托管电视的ScrolledWindow.我没有得到任何回调我的功能.

我怎么解决这个问题?

ant*_*ony 8

您需要在处理程序上使用GLib.ConnectBeforeAttribute来处理TreeView.ButtonPressEvent,否则窗口小部件将在内部处理事件,并且不会调用您的处理程序.

例:

[GLib.ConnectBefore]
void OnTreeViewButtonPressEvent(object sender, ButtonPressEventArgs e)
{
    if (e.Type == Gdk.EventType.TwoButtonPress)
    {
        // double click
    }
}    
Run Code Online (Sandbox Code Playgroud)