C# gtk#、TreeView、CellRenderSpin:旋转按钮不可见&;自定义单元格渲染器

C# gtk#、TreeView、CellRenderSpin:旋转按钮不可见&;自定义单元格渲染器,c#,mono,monodevelop,gtk#,gtktreeview,C#,Mono,Monodevelop,Gtk#,Gtktreeview,我试图在我的树视图中使用旋转按钮。 它是这样添加的: Gtk.TreeViewColumn adjustColumn = new Gtk.TreeViewColumn(); adjustColumn.Title = ""; Gtk.CellRendererSpin adjustCell = new Gtk.CellRendererSpin(); adjustCell.Digits = 0; adjustCell.Adjustment = new Adjustment(0, 0, 99, 1, 9

我试图在我的树视图中使用旋转按钮。 它是这样添加的:

Gtk.TreeViewColumn adjustColumn = new Gtk.TreeViewColumn();
adjustColumn.Title = "";
Gtk.CellRendererSpin adjustCell = new Gtk.CellRendererSpin();
adjustCell.Digits = 0;
adjustCell.Adjustment = new Adjustment(0, 0, 99, 1, 99, 99);
adjustCell.Editable = true;
adjustCell.Visible = true;
adjustCell.Sensitive = true;
adjustCell.Mode = CellRendererMode.Editable;
adjustColumn.PackEnd(adjustCell, true);

adjustColumn.SetCellDataFunc(adjustCell, new Gtk.TreeCellDataFunc(RenderAdjuster));
treeView.AppendColumn(adjustColumn);
在渲染函数中,执行以下操作:

(cell as Gtk.CellRendererSpin).Width = 30;
(cell as Gtk.CellRendererSpin).Height = 20;
(cell as Gtk.CellRendererSpin).Text = "" + (cell as Gtk.CellRendererSpin).Adjustment.Value;
会渲染值,但旋转按钮不可见!只有当用户单击该值时,它们才可见。这绝对是荒谬的,因为用户除了在单元格中随机单击外,不可能知道该单元格是可编辑的,特别是因为行中还有其他不可编辑的值

所以我的第一个问题是,我如何使这些旋转按钮始终可见

这可以通过自定义CellRenderer完成吗?

如果能给我一个例子,说明如何创建我自己的、实际工作的旋转按钮单元渲染器,我将不胜感激。不幸的是,自定义单元格渲染器是一个没有文档记录的谜(就像gtk中的任何东西一样)。你所能找到的就是绘制开罗矩形的例子,等等。必须有一种更简单的方法,您可以简单地将任何小部件放入该渲染器,并聆听单击等,然后在渲染单元格时简单地渲染小部件

一个简单显示按钮(可以监听点击)的自定义CellRenderer的示例也可以,因为我至少可以“伪造”一个旋转按钮,方法是使用三列文本、一个“+”按钮和一个“-”按钮