Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用GTK呈现TreeView单元格中的小部件#_C#_Mono_Gtk# - Fatal编程技术网

C# 如何使用GTK呈现TreeView单元格中的小部件#

C# 如何使用GTK呈现TreeView单元格中的小部件#,c#,mono,gtk#,C#,Mono,Gtk#,我正在用Mono和Gtk开发一个应用程序。在我的应用程序中,我需要使用TreeView控件。我正在寻找一种在单元格中呈现小部件而不是绘制所有内容的方法。我有我想在这些单元格中使用的自定义小部件,我不想手动绘制它们 我已经看过文档和论坛,但还没有找到一个方法来做到这一点。我不认为这是不可能的,因为CellRenderCombo和CellRenderToggle似乎呈现了一个小部件 谢谢如果您浏览Gtk+的源代码,您会注意到CellRenderToggle调用Gtk_paint_选项或Gtk_pai

我正在用Mono和Gtk开发一个应用程序。在我的应用程序中,我需要使用TreeView控件。我正在寻找一种在单元格中呈现小部件而不是绘制所有内容的方法。我有我想在这些单元格中使用的自定义小部件,我不想手动绘制它们

我已经看过文档和论坛,但还没有找到一个方法来做到这一点。我不认为这是不可能的,因为CellRenderCombo和CellRenderToggle似乎呈现了一个小部件


谢谢

如果您浏览Gtk+的源代码,您会注意到
CellRenderToggle
调用
Gtk_paint_选项
Gtk_paint_检查
,它们是绘制单选按钮或复选框的原语,而不是实际的小部件(我怀疑toggle/radio小部件调用相同的原语)。另一方面,
CellRenderCombo
显示一个
ComboBox
ComboxBoxEntry
小部件,但这发生在
StartEditing
方法覆盖中,该方法覆盖返回一个
CellEditable
界面,这是ComboBox和ComboBoxEntry实现的众多接口之一。如果有人在五年的沉默后在意,这是可能的。我在这里简单地回答我自己的问题时描述了一些细节:您需要一个自定义单元渲染器,它在指向项目小部件的指针上运行(您必须手动支持该生命周期),并手动管理父tv和项目小部件之间的连接,以使绘图、信号和其他项目小部件工作。很抱歉没有样本代码-我有它原来在生锈,这是很难阅读。