在Gtk中,如何在具有多个CellRenderers的TreeViewColumn中进行CellRendererToggle仅在单击复选框本身时切换?

时间:2010-03-01 20:10:50

标签: c# gtk gtk# gtktreeview

我有TreeModel代表Tag s的树。每个Tag都有这些 财产,其中包括:

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

TreeView只有一列,有两个CellRenderer:a CellRendererToggleActiveCellRendererTextName。我想要 它们在同一列中,因为多个列会像你一样混乱 在TreeView。{/ p>中进一步了解后代

我的问题是,当我点击列中的任何地方时, 切换CellRendererToggle。这是有问题的,因为我想 做一些事情,比如拖动标签,并将它们重新命名为内联。在那儿 点击时,只有CellRendererToggle 才能切换的任何方式 在复选框本身,而不是将其移动到单独的列?

1 个答案:

答案 0 :(得分:3)

您需要将CellRenderer的{​​{1}}设置为Mode

Activatable

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