2

我有一个TreeModel代表Tags 的树。每个Tag都有这些属性,其中包括:

string Name
bool Active
Tag Parent
TagList Children //basically just a List<Tag>

TheTreeView有一个单列,有两个CellRenderers:一个 CellRendererToggleforActive和一个CellRendererTextfor Name。我希望它们在同一列中,因为随着您在TreeView.

我的问题是,当我单击列中的 任意位置CellRendererToggle时,会切换。这是有问题的,因为我想做一些事情,比如拖动标签,并内联重命名它们。当我单击复选框本身时,有什么方法可以使CellRendererToggle 唯一的切换,而不将其移动到单独的列?

4

1 回答 1

3

您需要将CellRenderer's设置ModeActivatable

renderer.Mode = CellRendererMode.Activatable;

如果一个渲染器不可激活,但列中的另一个渲染器是,Gtk 将点击传递给该渲染器。将您的非切换渲染器设置为可激活,也可以防止它们传递点击。

于 2010-03-01T22:02:06.313 回答