将自定义GTK#小部件添加到Glade目录

时间:2016-06-07 08:38:51

标签: mono gtk# glade

我使用GTK#3工具包在C#中创建了一个自定义小部件(使用我自己的绘图)。 现在我想在Glade设计师中使用它。 是否可以将此小部件添加到Glade调色板?

看来这个文档: https://developer.gnome.org/gladeui/unstable/catalogintro.html 可以用来将用C / C ++编写的小部件添加到Glade调色板中,但是用C#编写的小部件获得相同结果的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

可能无法实现。接近它的方法是在C中编写一个使用libmono与C#小部件互操作的填充库。 Here is a link to Mono's documentation on how to do that.然后,您的填充程序库中的入口点将列在Glade目录中的<init-function>元素中。

或者,您可以“伪造”Glade目录中的窗口小部件类;它们的属性和信号将出现(尽管您必须在目录文件中手动编写它们。)如果它们是容器小部件,您将无法向它们添加子小部件。它们只会在Glade中显示为灰色框。您可以通过将<glade-widget-class>元素添加到目录中来完成此操作,如Glade文档的this page所述。